Closed
Bug 516847
Opened 13 years ago
Closed 13 years ago
oggz calculates granulepos incorrectly for duplicate frames
Categories
(Core :: Audio/Video, defect)
Tracking
()
RESOLVED
FIXED
Tracking | Status | |
---|---|---|
status1.9.2 | --- | beta1-fixed |
status1.9.1 | --- | .6-fixed |
People
(Reporter: cajbir, Assigned: kinetik)
References
()
Details
(Keywords: verified1.9.1)
Attachments
(1 file, 1 obsolete file)
2.56 KB,
patch
|
cajbir
:
review+
roc
:
approval1.9.2+
dveditz
:
approval1.9.1.6+
|
Details | Diff | Splinter Review |
TinyVid recently moved to using the thusnelda encoder to encode the Theora videos. This encoder is more aggressive at marking duplicate frames so decoders don't need to do so much work decoding them. Unfortunately liboggplay based players (Firefox being one) don't seem to handle this well. The first ten seconds of the video in the URL don't play correctly. The time skips and it misses some of the frames that contain different content. Steps to reproduce: 1) Visit URL 2) Play What happens: 1) Watch the time in the controls skip from 1 to 3 to 10 seconds. 2) Notice the first ten seconds of the video are all black. What should happen: 1) Time increases in a sane manner 2) The first ten seconds show the title information (Crazy G, U900 text). Note that this video crashes Firefox 3.5.3 so you'll need to test on trunk or Firefox 3.5.4pre.
Assignee | ||
Comment 1•13 years ago
|
||
Looks like this is to do with the granulepos/presentation time calculation in oggz and oggplay. Starting at the first data packet, I see the following granulepos from oggz_tell_granulepos (DF == duplicate frame): 256 512 (DF) 768 (DF) 259 (DF) ... 264 (DF) 2560 (DF) 2816 (DF) 3072 (DF) 268 (DF) oggplay_callback_theora has the following early exit: 94 if ( (granulepos > 0) && (common->last_granulepos > granulepos)) { So we end up skipping the decode and frame enqueue of a large number of frames.
Assignee: nobody → kinetik
Summary: Thusnelda encoded videos with duplicate frames don't play back correctly → Videos with duplicate frames don't play back correctly
Assignee | ||
Comment 2•13 years ago
|
||
oggz's auto granulepos calculation does not handle zero-byte (duplicate frame) packets correctly. When the packet size is zero, it reads a byte of random garbage from the heap.
Assignee | ||
Updated•13 years ago
|
Summary: Videos with duplicate frames don't play back correctly → oggz calculates granulepos incorrectly for duplicate frames
Assignee | ||
Comment 3•13 years ago
|
||
Attachment #400954 -
Attachment is obsolete: true
Attachment #400955 -
Flags: review?(chris.double)
Assignee | ||
Comment 4•13 years ago
|
||
It's tricky to get this with mochitest, I think. We could check the currentTime when timeupdate fires to ensure it's advancing sanely, but I suspect this sort of test will be prone to random orange due to timing dependencies.
Reporter | ||
Updated•13 years ago
|
Attachment #400955 -
Flags: review?(chris.double) → review+
Assignee | ||
Comment 5•13 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/30dc0db2b136
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•13 years ago
|
Attachment #400955 -
Flags: approval1.9.2?
Attachment #400955 -
Flags: approval1.9.1.5?
Assignee | ||
Comment 6•13 years ago
|
||
Comment on attachment 400955 [details] [diff] [review] patch v0 with update.sh etc. Simple patch that fixes poor playback with duplicate frames caused by reading outside the bounds of a buffer. I wonder if we want to take this for 1.9.1.5, too, since duplicate frames are going to become significantly more common once the Theora 1.1 (Thusnelda) decoder is released.
Comment 7•13 years ago
|
||
Applied to liboggz upstream, commit 5405282442397372897cd6d148820eb518ffaf83
Assignee | ||
Updated•13 years ago
|
status1.9.1:
--- → ?
Assignee | ||
Updated•13 years ago
|
Flags: wanted1.9.2?
Attachment #400955 -
Flags: approval1.9.2? → approval1.9.2+
Flags: wanted1.9.2? → wanted1.9.2+
Comment 9•13 years ago
|
||
http://hg.mozilla.org/releases/mozilla-1.9.2/rev/46421ae80897
status1.9.2:
--- → beta1-fixed
Comment 10•13 years ago
|
||
Comment on attachment 400955 [details] [diff] [review] patch v0 with update.sh etc. Approved for 1.9.1.5, a=dveditz for release-drivers
Attachment #400955 -
Flags: approval1.9.1.5? → approval1.9.1.5+
Comment 12•13 years ago
|
||
Verified for 1.9.1.6 using video url. Video plays back smoothly with 1.9.1.6 where it jumps around for 1.9.1.5. Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.6pre) Gecko/20091119 Shiretoko/3.5.6pre (.NET CLR 3.5.30729)
Keywords: verified1.9.1
You need to log in
before you can comment on or make changes to this bug.
Description
•