Closed Bug 477899 Opened 16 years ago Closed 16 years ago

Calls to liboggplay to get the duration of a media resource should be cached

Categories

(Core :: Audio/Video, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: cajbir, Assigned: cajbir)

References

Details

(Keywords: fixed1.9.1)

Attachments

(1 file, 4 obsolete files)

Finding the duration of a .ogg media resource requires seeking to the end of the file and working backwards to find the timestamp of the last packet. This is slow on HTTP resources since it requires multiple byte range requests. liboggplay requests the duration whenever a seek is done. This requires multiple byte range requests, then the seek is performed which requires more. See bug 469408 comment 4 for details. The latest liboggplay svn caches the duration so it doesn't make multiple calls. We should update to get this fix. We should also add a 'duration' function to the our channel reader implementation that returns the duration if we know it as the result of an X-Content-Duration header (see bug 469923). This would mean that liboggplay never needs to seek to find the duration during a seek.
Attached patch liboggz and liboggplay update (obsolete) (deleted) — Splinter Review
This updates liboggz to svn r3835 and liboggplay to svn r3848. The liboggplay update is to get changes that involve caching duration. The liboggz update is required for recent changes to liboggplay.
Attached patch Ogg decoder fix (obsolete) (deleted) — Splinter Review
Implements the duration function in the channel reader to tell liboggplay what the duration is if we already know it through X-Content-Duration header or similar means. This enables avoiding the need to seek at all when liboggplay queries for the duration.
Attachment #361680 - Flags: superreview?(roc)
Attachment #361680 - Flags: review?(roc)
Flags: blocking1.9.1?
Attachment #361680 - Flags: superreview?(roc)
Attachment #361680 - Flags: superreview+
Attachment #361680 - Flags: review?(roc)
Attachment #361680 - Flags: review+
Blocks: 475685
Flags: blocking1.9.1? → blocking1.9.1+
Whiteboard: [needs landing]
These patches were pushed http://hg.mozilla.org/mozilla-central/rev/45eb7626bca0 http://hg.mozilla.org/mozilla-central/rev/2b7e176d9e73 and backed out due to e:/builds/moz2_slave/mozilla-central-win32-debug/build/media/liboggplay/src/liboggplay/oggplay_callback.c(233) : error C2054: expected '(' to follow 'inline' http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1235097746.1235098651.12858.gz#err0
Whiteboard: [needs landing]
Attached patch liboggz and liboggplay update 2 (obsolete) (deleted) — Splinter Review
Updates liboggz to svn r3867 to pull in fixes. Fixes issues with inline that caused previous build failure. I'm testing with tryserver and will checkin if that goes fine.
Attachment #361675 - Attachment is obsolete: true
Attached patch Fixes for win32 build issues (obsolete) (deleted) — Splinter Review
liboggz config fixes to build on win32 and wince. No changes to the reviewed code by roc, carring forward s+r. Tested on tryserver.
Attachment #364412 - Attachment is obsolete: true
Attachment #365069 - Flags: superreview+
Attachment #365069 - Flags: review+
Attachment #361680 - Attachment is obsolete: true
Whiteboard: [needs landing]
Blocks: 468281
Blocks: 468293
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Whiteboard: [needs landing] → [baking for 1.9.1]
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
liboggz on windows includes code compiled with DEBUG defined that causes compile errors. Force #undef DEBUG.
Attachment #365069 - Attachment is obsolete: true
Comment on attachment 365155 [details] [diff] [review] Don't include broken liboggz debug code on windows carry forward r/sr
Attachment #365155 - Flags: superreview+
Attachment #365155 - Flags: review+
Whiteboard: [baking for 1.9.1] → [needs landing]
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → FIXED
Whiteboard: [needs landing] → [baking for 1.9.1]
Pushed to mozilla-1.9.1: http://hg.mozilla.org/releases/mozilla-1.9.1/rev/b5f896adf581 I had to tweak the patch a bit to fix merge errors due to bug 461844 not landing on 1.9.1.
Keywords: fixed1.9.1
Whiteboard: [baking for 1.9.1]
Blocks: 468280
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: