After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 723076 - Failed to seek some frames in a matroska video file
Failed to seek some frames in a matroska video file
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.2.4
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-01-27 09:24 UTC by Adrien SCH.
Modified: 2018-11-03 14:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Test case (10.82 KB, text/x-csrc)
2014-01-27 09:24 UTC, Adrien SCH.
Details

Description Adrien SCH. 2014-01-27 09:24:40 UTC
Created attachment 267277 [details]
Test case

Issue : Some frame aren't seekable in a matroska video file

Real case : 
1. Reverse playback multiple video file.
2. Snapshot of a video file

How to reproduce : 

Create a video sample : 
gst-launch-1.0 videotestsrc num-buffers=3000 ! timeoverlay ! x264enc ! matroskamux ! filesink location=~/test.mkv

This previous command will create a mkv file, with a duration of 100s and with a last frame at 99.967. These information can be validate with the mkvinfo tool (don't forget to activate Show all elements in the UI). 

Gstreamer test case : 
Goal, try to seek the last frame of the video file.
Pipeline : filesrc ! matroskademux ! h264parse ! avdec_h264 ! videoconvert ! xvimagesink
Code : http://pastebin.com/yf47niDL
Observations : 
When we try to seek to the last frame, the last full gop is sent to the decoder, including the last frame. The decoder doesn't output the last frame, and the demux forward an EOS event (in my case, dropped). The result is that the last frame, isn't seekable, and will not be displayed.

Note : This behavior can be validated with other frames in the video file (a bit before the last frame), but I can't say how many frames aren't seekable. 

Hypothesis : 
Could be a segment problem ?

External : Mailing list discussion : http://gstreamer-devel.966125.n4.nabble.com/How-to-get-the-last-frame-of-a-video-file-td4664849.html
Comment 1 Adrien SCH. 2014-01-27 11:01:19 UTC
Additional information : It seems to success "rarely - 1/10" and this could also appears in the middle of the stream but "very rarely - Unknown".
Comment 2 GStreamer system administrator 2018-11-03 14:51:06 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/103.