baseparse converting seek event from format BYTES to TIME

Eric Trousset etrousset at awox.com
Thu Jan 30 05:23:13 PST 2014


After more investigation I found the root cause. It looks like the bugs happens with mpegts container, when the GST_SEEK_FLAG_SKIP is used.
You can reproduce with playback-test program, adding the "Play Skip" option. The seek will fail!

Regards,
Eric

> -----Original Message-----
> From: gstreamer-devel-bounces at lists.freedesktop.org [mailto:gstreamer-
> devel-bounces at lists.freedesktop.org] On Behalf Of Eric Trousset
> Sent: jeudi 30 janvier 2014 09:20
> To: Discussion of the development of and with GStreamer
> Subject: RE: baseparse converting seek event from format BYTES to TIME
> 
> 
> 
> > -----Original Message-----
> > From: gstreamer-devel-bounces at lists.freedesktop.org [mailto:gstreamer-
> > devel-bounces at lists.freedesktop.org] On Behalf Of Tim Müller
> > Sent: mercredi 29 janvier 2014 01:15
> > To: gstreamer-devel at lists.freedesktop.org
> > Subject: Re: baseparse converting seek event from format BYTES to TIME
> >
> > On Tue, 2014-01-28 at 15:56 +0100, Eric Trousset wrote:
> >
> > Hi Eric,
> >
> > > I've been trying to understand what is going going on with my seeking.
> > > When doing it on Mpeg PS file, the seek event is converted from time
> > > to byte, and I receive it ok in my source element. But for mpegts
> > > file, with mpeg2 vid and ac3 audio, it looks like the event is
> > > converted from time to byte and from byte to time again, and never
> > > reach my source element.
> >
> > Well, it's only parts of the log. But the code in baseparse looks fine
> > to me - it will try to send the seek event as-is upstream first, and
> > only if that wasn't handled it will fall back to its own time->byte conversion.
> >
> > If there's an mpeg-ps file, the demuxer should handle the seek (or the
> > source). You need to check why that doesn't happen as expected.
> 
> Can you advise me on which element to activate logs to see what is going on
> with the seek event.
> 
> >
> > In your log it looks like the duration query fails - this is not a
> > good sign generally - how do you expect an app to seek if you don't
> > even provide it with a seek range / duration estimate?
> 
> My source element should be able to respond to query duration in byte
> format, but not sure the query got to it
> 
> >
> >  Cheers
> >   -Tim
> >
> > --
> > Tim Müller, Centricular Ltd - http://www.centricular.com
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list