Request for feedback: New DASH plugin implementation (dashdemux)

Edward Hervey bilboed at
Tue Oct 23 00:01:53 PDT 2012


On Mon, 2012-10-22 at 17:44 +0200, David Corvoysier wrote:
> Hi,
> Dashbin now has a kid brother !
> After a first implementation of DASH in gstreamer brought to the 
> attention of the community in May (see 
>, we would like people 
> interested to evaluate dashdemux, a brand new implementation that tries 
> to address most of the concerns raised by the previous one.
> This new plugin is the result of a joint effort from ST MicroElectronics 
> and Orange, and tries to take advantage of a few generic classes 
> introduced by the existing HLS Demux from gst-plugins-good.
> The code is available here: 
>, and is licensed under 
> LGPL V2.1.
> When evaluating the plugin, please keep in mind that despite our 
> efforts, it is still a prototype that would require some work to reach 
> production grade:
> - the seek is unreliable (sorry !),
> - there may be a memory leak, as under certain circumstances, the memory 
> increases a lot (but it's still hard to figure out which part is 
> responsible, as decodebin for instance doesn't prune drained chains 
> before the end of the pipeline),
> - if multiple audio languages are available, they are all downloaded 
> (otherwise we cannot change the audio dynamically),
> - a few other things need to be fixed in the code (look for FIXME),
> - it is not compatible with gstreamer 1.x ...
> Based on your feedback, we are ready to discuss of a plan to include 
> dashdemux to the existing suite of gstreamer plugins (probably sitting 
> next to HLS demux inside a 'fragmented' plugin is the best option).

I'll let someone more familiar with HLS and DASH comment about the
implementation itself, but a few first comments:
* All the bugs/patches you mentioned in the README are pushed upstream
in both 0.10 and master. The problem is that ... there's no guarantee
there will be a future 0.10 release.
* The various source files you are re-using are already ported to 1.0
(along with hlsdemux itself).
* Most of the development effort is concentrated on 1.0 these days, and
in combination with the above-mentioned release issue, I fear you might
not get much help by sticking to 0.10 :(
* For the plugin to make it into -bad (and not -good as you mentionned),
it would be a good move to make your repository based on -bad (and not a
standalone repository as is the case right now).
* Quite a bit of your code isn't related to gstreamer API but more to
protocol handling (which is agnostic to the 0.10/1.0 changes).

Considering all the above, I'd therefore recommend you do the following:
* Re-use the current master (1.0) code of gstfragmented and related
source files
* For that, clone gst-plugins-bad and adapt your commits/code on top.
Since hlsdemux is already ported, and you inspired yourself from that
code, you can see how it is now handling the gstreamer parts in 1.0.
* Open a bug report on the gstreamer bug tracker pointing to that
repository so we can track/comment/assist on the progress

Nice work !


> Regards
> David Corvoysier
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at

More information about the gstreamer-devel mailing list