GNOME Bugzilla – Bug 608990
[qtdemux] Segment start timestamps can be broken
Last modified: 2010-02-04 20:39:56 UTC
As I've added progressive download support in qtdemux since the last release, it would be very nice if we could make its debut as good as possible. When testing I found that with -good at master the following sample did not seek properly: http://samples.mplayerhq.hu/mobileVideo_3gp/Kylie_Live.3gp Rather than seeking to the requested position, it was doing two things wrong: - Displaying the keyframe seeked to and playing audio from the beginning of the file. - Seeking to the keyframe position and playing from there rather than clipping buffers from before the requested seek position for non-keyframe seeks. Patches incoming for both issues...
Created attachment 153005 [details] [review] Fix the time returned for an index at a byte offset The logic for searching forwards/backwards was swapped.
Created attachment 153006 [details] [review] Set the segment start time to the requested seek time for non-keyframe seeks
Created attachment 153011 [details] [review] Set the segment start time to the requested seek time for non-keyframe seeks I missed a lock when reading seek_offset from the context. This patch makes it more robust.
If it looks good to Wim, it's fine with me. Please push once Wim has signed off on these patches.
ok for me.
(Argh, forgot to commit --amend the messages to mention the bug numbers, oh well): commit 9ed6c58006704b3ac049503cc9ea9808d7447c48 Author: Robert Swain <robert.swain@collabora.co.uk> Date: Thu Feb 4 14:46:56 2010 +0100 qtdemux: Set the segment start time to the requested seek time for non-keyframe seeks commit 8d4f70c5ce9c4998edc4a9e32e2d65ae87946684 Author: Robert Swain <robert.swain@collabora.co.uk> Date: Thu Feb 4 12:00:03 2010 +0100 qtdemux: Fix time returned for index at a byte offset The logic for searching forwards/backwards was swapped