flv demux failures on YouTube 240p FLV audio tracks

Tim-Philipp Müller t.i.m at zen.co.uk
Wed May 22 14:46:37 PDT 2013


On Tue, 2013-05-21 at 22:25 -0700, Dave Milici wrote:

> I have a followup finding and question after experimenting with a
> playbin2 example with both video-sink and audio-sink components.
> 
> Modifying some of the gstreamer custom playbin examples, I found that
> if I explicitly add an "ffdec_mp3" element to custom "audio-sink" bin,
> I can get audio and video streams to play.
> 
> What I'm confused about is whether adding a decoder element to a head
> of a "sink" bin is the appropriate thing to do in this case. Is that
> expected protocol?

It's not :)

> Wouldn't it be more logical to add the decoder element to the "src" pad
> of the flv demuxer? Is there an example of fixing up incomplete demuxer
> connections?

Yes, indeed. The reason that doesn't happen is that ffdec_mp3 has no
rank, for various reasons. If you had either the 'mad' mp3 decoder
installed, or the mpg123audiodec mp3 decoder, or the (free/FLOSS)
flump3dec decoder, then an mp3 decoder should be plugged after the
demuxer by playbin/uridecodebin automatically. You can also change the
rank of ffdec_mp3 to something like GST_RANK_MARGINAL, so that it gets
autoplugged. You can do that by changing the gst-ffmpeg source code and
recompile the plugin, or by looking up the ffdec_mp3 plugin feature from
the registry in your application, and then set the plugin feature rank
there (after gst_init, before creating your pipeline).

Cheers
 - Tim



More information about the gstreamer-devel mailing list