GNOME Bugzilla – Bug 701391
Reverse playback not working
Last modified: 2013-10-01 14:49:12 UTC
While trying to test some reverse playback cases in GNonLin (git master), we endup not being to do reverse playback with any thing. Using gst-plugins-base/tests/examples/playback seems to expose issues. So far I have tested this video and videotestsrc. http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4 I'm creating this bug as this may need larger investigation. An assertion that is visible in mostly all cases is: GStreamer-CRITICAL **: gst_segment_clip: assertion `segment->format == format' failed to be continued ...
I think there might be a bug for this already
It's something in the video decoder base class. The input segment event is stored in the current_frame_events lists but because there is never a new frame created (somehow) the segment never gets pushed on the srcpad and clipping fails.
So that one could have been newly introduced by the event ordering fixes. I think it's worth keeping it open then.
Hm, if no new frame is created, how is it finishing a frame at all then? If it's an old frame that is finished, it would mean that the segment event arrived after the input buffer that created the segment
There are some other bugs about this already btw, especially about this assertion: bug #699972 and bug #700537
The direction relation with reverse playback is not obvious to me. So instead of marking as dup, I suggest adding dependencies for tracking. The end goal is to regain reverse playback, and track the progress.
Yes, there's probably more than just this involved here. My guess for the relation between these problems would be, that the segment event is attached to the frame with the lowest timestamp... which in the reverse playback case would be the last frame of a GOP that is actually pushed.
Bug #702502 has a potential patch for the segment_clip warning.
This seems to work for most file now except mkv, so there is not generalized regression anymore, shall be close ?
Let's close it then. If there are still issues, it's best to file them specific to the demuxer (plus parser plus decoder) in question.