AnsweredAssumed Answered

How to rewind GStreamer / VPU playback?

Question asked by Adrian Cox on Aug 27, 2013
Latest reply on Oct 2, 2014 by nicolasimx

I'm playing back MP4 videos on iMX.6 with a gstreamer pipeline like this:

 

filesrc location=%s typefind=true ! aiurdemux ! vpudec ! mfw_v4lsink

 

This pipeline works for play, pause, and fast-forward, but in rewind moving objects leave a trail of corrupted macro-blocks. I enter rewind like this (rate == -2.0, ms == current position in ms):

 

  gst_element_seek ((GstElement*)pipeline, rate, GST_FORMAT_TIME,

       (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT | GST_SEEK_FLAG_SKIP),

                         GST_SEEK_TYPE_NONE, 0,

                         GST_SEEK_TYPE_SET, ms * 1000000);

 

I'd be satisfied if I could work around this by only showing key frames during rewind.

 

Regards, Adrian

Outcomes