After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 735848 - adaptivedemux: new base class
adaptivedemux: new base class
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal enhancement
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-09-01 21:06 UTC by Thiago Sousa Santos
Modified: 2014-12-24 04:10 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
adds adaptivedemux base class (85.37 KB, patch)
2014-09-01 21:06 UTC, Thiago Sousa Santos
none Details | Review
adaptivedemux: add adaptivedemux base class (90.14 KB, patch)
2014-11-23 07:25 UTC, Thiago Sousa Santos
none Details | Review

Description Thiago Sousa Santos 2014-09-01 21:06:27 UTC
Currently all 3 adaptive demuxers share a lot of code.

This adaptive demuxer base class refactors the common code to a single place and leave the subclasses only to deal with mapping the specifics of their manifests into the fragments data (url, byte ranges, timestamps).

Simple playback and seeking are working and tested. The major gap now is testing with live playback.

The latest version can be found at http://cgit.freedesktop.org/~thiagoss/gst-plugins-bad/log/?h=adaptivedemux

Let me know if you have another preferred way of reviewing this so I can set it up as the patches are rather large. I'm also going to attach the main patch here.

Additionally, a few new features have landed in some of the adaptive demuxers in the past days that are not on the branch but those are trivial to port once we get some review on the current status.
Comment 1 Thiago Sousa Santos 2014-09-01 21:06:55 UTC
Created attachment 285088 [details] [review]
adds adaptivedemux base class
Comment 2 Thiago Sousa Santos 2014-11-23 07:23:57 UTC
Branch updated in freedesktop. The API is not ideal yet but it is not going to be public anyway. Besides, people will only test it when it lands upstream and I have some time available to respond and fix bugs in the upcoming weeks. The overhead of backporting patches to this branch or replicating fixes across elements upstream is also another unnecessary workload that would disappear. In the long run I think it makes sense to merge already.
Comment 3 Thiago Sousa Santos 2014-11-23 07:25:06 UTC
Created attachment 291299 [details] [review]
adaptivedemux: add adaptivedemux base class

Updated patch
Comment 4 Tim-Philipp Müller 2014-11-23 15:28:05 UTC
Yes, it should land very soon if we want to get it in in this cycle, otherwise we won't have enough time to stabilise it before the release. I agree that no one is going to test it before it lands :)
Comment 5 Sebastian Dröge (slomo) 2014-11-24 10:59:19 UTC
Yes, merge it please :)
Comment 6 Thiago Sousa Santos 2014-12-01 04:06:10 UTC
commit 9ec9f3f11956280de031cf3d5d1ea30c472e45d2
Author: Thiago Santos <thiagoss@osg.samsung.com>
Date:   Fri Nov 21 20:42:09 2014 -0300

    adaptivedemux: add adaptivedemux base class
    
    https://bugzilla.gnome.org/show_bug.cgi?id=735848


commit 58a1b0d05883d795d345eb4a38275f8fa67ea36b
Author: Thiago Santos <thiagoss@osg.samsung.com>
Date:   Tue Aug 26 16:45:46 2014 -0300

    dashdemux: port to adaptive demux


Adaptive demux and dashdemux port merged. Will keep this open until all ports are done.
Comment 7 Thiago Sousa Santos 2014-12-04 17:29:32 UTC
mssdemux merged

commit b418c88b26221afdefaec85e80c8f19960e71212
Author: Thiago Santos <thiagoss@osg.samsung.com>
Date:   Sat Nov 22 01:01:50 2014 -0300

    mssdemux: port to adaptivedemux base class
Comment 8 Thiago Sousa Santos 2014-12-24 04:10:42 UTC
commit 1e9ce11efdb09eed7632bc7c69ce5135f6eeb93b
Author: Thiago Santos <thiagoss@osg.samsung.com>
Date:   Wed Aug 27 16:26:19 2014 -0300

    hlsdemux: port to adaptive base class


All ported and merged now