[gst-devel] Current playing segment is not updated after reverse framestepping.

wl2776 wl2776 at gmail.com
Thu Jun 24 17:15:36 CEST 2010


I use playbin2 to play MPEG2-PS files.

I open the file, put my player to playing and after some time to pause.
Then I issue a seek event to change the playback direction:

rb=gst_element_seek(m_player,-1.0,GST_FORMAT_TIME,
   (GstSeekFlags)(GST_SEEK_FLAG_FLUSH|GST_SEEK_FLAG_ACCURATE),
   GST_SEEK_TYPE_SET,0,GST_SEEK_TYPE_SET,m_current_position);

Then, after async-done message was received, I issue one or several new_step
events.
The playbin2 successfully steps one or several frames back (this doesn't
happen on all my mpeg-2 files, but this is another problem, I wrote about it
already).

Then I press "Play" button on my application's form, which issues queries
for the current position and segmend, then issues the seek event to turn the
playback forward again:

gst_element_seek(m_player,1.0,GST_FORMAT_TIME,
  (GstSeekFlags)(GST_SEEK_FLAG_FLUSH|GST_SEEK_FLAG_ACCURATE),
  GST_SEEK_TYPE_SET,m_current_position,
  GST_SEEK_TYPE_SET,m_stream_duration);

And finally, calls
gst_element_set_state(GST_ELEMENT(m_player),GST_STATE_PLAYING);

However, the playback continues from the frame where it was paused, that is,
several stepped back frames are skipped.

I seem to recall, I've seen a message about this bug, with the proposed
patch, however, I cannot find a link.

I would appreciate a link or a solution of the problem.
-- 
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Current-playing-segment-is-not-updated-after-reverse-framestepping-tp2267147p2267147.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.




More information about the gstreamer-devel mailing list