GNOME Bugzilla – Bug 332155
Seeking problems in .mov files
Last modified: 2006-05-03 21:53:47 UTC
Please describe the problem: When seeking in some mov files with totem, the video will freeze for 2-3 seconds before continuing. Also, if you are near the end of the file and you try to seek further (for example with right arrow key), it will bypass the end of the file and play a black screen forever. (this lead to the counter telling you you are at 3:31 in a 3:00 movie) Steps to reproduce: 1. download http://movies.collegehumor.com/items/2005/07/collegehumor.248333.mov 2. try to seek with the slider. See the freeze. 3. Go a few seconds before the end of the file and press "->". 4. See the counter Actual results: Expected results: No more freeze and no more eof bypass Does this happen every time? yes Other information: Just upgraded gstreamer0.10-plugins-bad to 0.10.1-0ubuntu1 in Ubuntu Dapper. I'm just glad that those files are finally working with gstreamer. Thank you. Keep the good work.
qtdemux does a bad job seeking to keyframes, which makes it start playing video after it found the next keyframe. The second problem seems to be fixed now, you can however still try to seek past the end of the file using the arrow keys. This is a totem bug.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init), (gst_qtdemux_push_event), (gst_qtdemux_go_back), (gst_qtdemux_perform_seek), (gst_qtdemux_do_seek), (gst_qtdemux_handle_src_event), (plugin_init), (gst_qtdemux_change_state), (gst_qtdemux_loop_state_movie), (gst_qtdemux_loop), (gst_qtdemux_chain), (qtdemux_sink_activate_pull), (gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_parse_tree), (qtdemux_parse_trak), (qtdemux_parse_udta), (qtdemux_tag_add_str), (qtdemux_tag_add_num), (qtdemux_tag_add_gnre), (gst_qtdemux_handle_esds): * gst/qtdemux/qtdemux.h: Handle stss boxes so we can mark and find keyframes. Implement correct accurate and keyframe seeking. Use _DEBUG_OBJECT when possible.