Seamless playback without playbin

marcin at saepia.net marcin at saepia.net
Fri Aug 30 15:36:36 PDT 2013


Hi,

I have pipeline with two branches, and I need to switch them dynamically
without any gaps.

Each branch is basically

filesrc -> decodebin -> audioresample -> audioconvert -> capsfilter

put in a bin where bin's src ghost pad is made out of capsfilter's src pad.

I have EVENT_BOTH pad probe on capsfilter's src pad and I listen for EOS.

When EOS happens, another branch is always prepared for playback, I mean it
is in PLAYING state but bin's src pad is blocked.

In callback for EOS I immediately unlink EOSed bin, link another one and
remove blocking pad probe for the newly linked branch.

Sound plays, but there are tiny gaps between files.

What else should I do in order to achieve gapless playback?

I cannot use playbin (finally final pipeline will be much more complex and
much more different from playbin purpose than in this case).

Thanks,

m.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130831/16514fde/attachment.html>


More information about the gstreamer-devel mailing list