playbin application: no caps event in sink after audio change + flush seek

Sebastian Dröge sebastian at centricular.com
Mon Dec 14 01:09:03 PST 2015


On Fr, 2015-12-11 at 05:34 -0800, mx3L wrote:
> Hello,
> 
> As title suggest, we are using playbin in our application. Also we
> are using custom audio/video sink which accepts non-raw data, with
> sync on clock turned off.
> 
> When we change audio track by "current-audio" playbin's property, we
> are doing immediately flush seek to current playback position. After
> this operation, we are sometimes missing caps event in audiosink, so
> we cannot instruct hw decoder what input buffers will it get, i.e. we
> have no sound.
> 
> Is it possible that we flush caps-event by flush seek which we do
> immediately after we change audio track?
> If I first do flush seek and then immediately change audio the track,
> problem looks to disappear, i.e we have always caps event in
> audiosink. Is this correct solution or should we wait for flush seek
> to happen and then change audio track?

In theory the flush should not drop any caps events ever. Which version
of GStreamer are you using, and is this just a standard playbin
pipeline?

There might be a bug in one of the elements inside playbin that causes
the CAPS event (and possibly others) to be dropped. There was such a
bug in older 1.x versions of GStreamer, but in 1.6 they should all be
solved.

If you can still reproduce this problem with 1.6, please report a bug
at https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
Ideally with a testcase or at least with a debug log with GST_DEBUG=6
so that we can find the place where the CAPS event is dropped.

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20151214/2b922a46/attachment.sig>


More information about the gstreamer-devel mailing list