new-segment events on decoders

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

new-segment events on decoders

Thomas Vander Stichele
Hi everyone,

I'm writing a simple application to checksum lossless CD rips and
compare them against a database of known-good rips.

I need to be able to get all decoded samples between two offsets.

I'm assuming that the right way to do this using GStreamer is to
construct a decoding pipeline with appsink, and send a new-segment event
to appsink requesting the bytes I'm interested in.

However, this doesn't work atm.  For starters, it crashes with flacdec.
That was easy enough to work around, but after that it still doesn't
really work.

So, my questions:

- is the approach the right one ?
- why do decoders not handle NEWSEGMENT events in their src_event
handler ? (I checked flacdec, vorbisdec, and mad)
- why does flacdec use gst_pad_event_default as the default handler,
while others seem to just push the event to their sinkpad ?

Thomas

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: new-segment events on decoders

Edward Hervey
Administrator
NEW_SEGMENT is a downstream event.

Just do a seek for the requested interval on the pipeline.

On Fri, 2009-01-30 at 10:42 +0100, Thomas Vander Stichele wrote:

> Hi everyone,
>
> I'm writing a simple application to checksum lossless CD rips and
> compare them against a database of known-good rips.
>
> I need to be able to get all decoded samples between two offsets.
>
> I'm assuming that the right way to do this using GStreamer is to
> construct a decoding pipeline with appsink, and send a new-segment event
> to appsink requesting the bytes I'm interested in.
>
> However, this doesn't work atm.  For starters, it crashes with flacdec.
> That was easy enough to work around, but after that it still doesn't
> really work.
>
> So, my questions:
>
> - is the approach the right one ?
> - why do decoders not handle NEWSEGMENT events in their src_event
> handler ? (I checked flacdec, vorbisdec, and mad)
> - why does flacdec use gst_pad_event_default as the default handler,
> while others seem to just push the event to their sinkpad ?
>
> Thomas
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> SourcForge Community
> SourceForge wants to tell your story.
> http://p.sf.net/sfu/sf-spreadtheword
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel