[gst-devel] Seeking

Wesley J. Miller WMiller at sdr.com
Mon Apr 5 16:22:40 CEST 2010


After looking at about a hundred web pages and the gstreamer online docs, I can't find the information that I'm apparently just supposed to know.

So, can someone please explain how seeking works.  In particular, I want to pick out one JPEG frame from the stream of JPEGS demuxed and saved from an MJPEG stream.  And then, perhaps, to step one pic at a time through the stream.

I started by saving an mjpeg live stream into a mkv file thus:

gst-launch souphttpsrc location=... do-timestamp=true is_live=true
      !  multipartdemux
      ! matroskamux
      ! filesink location= saved-mjpeg-stream.

 Now I am playing it back using this equally simple pipeline:

 gst-launch filesrc location=saved-mjpeg-stream.mkv \
      ! matroskademux
      ! jpegdec
      ! ffmpegcolorspace
      ! autovideosink

This pipeline is actually coded in C.  So, after I set the pipeline to PAUSED, I'd like to be able to seek to one particular frame that is at a specified  offset in time relative to the start of the saved mjpeg stream.

// .....

  gst_element_set_state( pipeline, GST_STATE_PAUSED );

// perform a seek here
// then "play" the one frame or
// play N more frames.



FWIW, I have read a mountain of web posts and samples.  All of them tell me what functions to use but no one seems to explain why and how to create an event, where (and where not) to hook it in.   Is there a good online how-to for gstreamer.  No, the online documentation at gstreamer.net just glosses over events and seeking.

Wes Miller

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100405/8bae2c54/attachment.htm>


More information about the gstreamer-devel mailing list