Closed Bug 1373033 Opened 8 years ago Closed 8 years ago

SourceBuffer.appendBuffer doesn't work with partial webm/vp8 chunks

Categories

(Core :: Audio/Video: Playback, defect)

56 Branch
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: davidj, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36 Steps to reproduce: - Split a webm/vp8 file recorded with MediaRecorder into multiple chunks. - Call appendBuffer for each chunk. Test: https://www.groupworld.net/gum_record/test3.html Actual results: Corrupted video. Expected results: Should play back normally. Works fine on Chrome.
Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
Flags: needinfo?(jyavenard)
(In reply to David Jameson from comment #0) > User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) > AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36 > > Steps to reproduce: > > - Split a webm/vp8 file recorded with MediaRecorder into multiple chunks. > - Call appendBuffer for each chunk. You need to wait for the updateend event before appending the next chunk. > Should play back normally. Works fine on Chrome. Doesn't work in Chrome for me. FWIW, I don't recommend people write your own MSE player. Use Shaka player or the DASH-IF player instead.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → INVALID
Sorry, that was just a quick demo to try to demonstrate the bug, and you're correct that it wasn't checking updating. I've fixed that bug, and it's now working perfectly on chrome every time, but still getting corruption in firefox. (The original code we found this bug on was correctly checking the updating flag).
It still plays better in Firefox than in Chrome. The latest chrome only shows the first frame. It plays two seconds in FF. chrome://media-internals show that the 2nd segment caused a parsing error: "Append: stream parsing failed. Data size=94346 append_window_start=0 append_window_end=inf" What exactly is this video duration supposed to be?
Flags: needinfo?(jyavenard)
You need to log in before you can comment on or make changes to this bug.