Closed
Bug 568432
Opened 16 years ago
Closed 16 years ago
Assertion while seeking in the WebM backend
Categories
(Core :: Audio/Video, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: kinetik, Assigned: kinetik)
References
Details
We're hitting the following assertion infrequently when seeking in the WebM backend:
###!!! ASSERTION: Seek target should lie inside the first frame after seek: 'video->mTime <= seekTime && seekTime <= video->mTime + mReader->GetInfo().mCallbackPeriod', file /Users/kinetik/work/mozilla-central/content/media/nsBuiltinDecoderStateMachine.cpp, line 892
Ignoring the fact that mCallbackPeriod is bogus for WebM files (we hardcode it to 50ms), this assertion appears to be catching a valid problem in some cases:
(gdb) p seekTime
$13 = 3332739
(gdb) p video.mRawPtr->mTime
$14 = 3332746
We've landed at a frame 7ms ahead of the target time.
It's possible this is fixed by my seeking patch in bug 568162. I haven't been able to reproduce the assertion with that patch applied, but it's possible I didn't test thoroughly enough.
| Assignee | ||
Updated•16 years ago
|
Assignee: nobody → kinetik
Status: NEW → ASSIGNED
| Assignee | ||
Comment 1•16 years ago
|
||
With the file I hit this assertion on, the frame times seem to vary between 33ms and 50ms, so the old code with the hardcoded frame time of 40ms would cause us stop decoding forward after seeking when landing on a 33ms long frame. This explains the 7ms discrepancy. It'd also be possible to decode too far forward if we landed on a 50ms long frame. My seeking patch in bug 568162 fixes both cases by using the start time of the following frame as the end time for the currently inspected frame.
This assertion may still fire because it relies on mCallbackPeriod. Fixing that is bug 568431.
Depends on: 568162
| Assignee | ||
Comment 2•16 years ago
|
||
Fixed by bug 568431 landing.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•