Closed Bug 1118126 Opened 9 years ago Closed 9 years ago

MSE: Changing MediaSource::duration attribute, do not evict data

Categories

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

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: jya, Assigned: jya)

References

(Blocks 1 open bug, )

Details

Attachments

(2 obsolete files)

When modifying MediaSource::duration attribute, if new duration is lesser than the existing one, we should be removing data from the attached source buffers.

Per spec:
duration change:
http://w3c.github.io/media-source/#duration-change-algorithm
"If the new duration is less than old duration, then run the range removal algorithm with new duration and old duration as the start and end of the removal range."

http://w3c.github.io/media-source/#sourcebuffer-coded-frame-removal

This is causing Youtube reference test #23 and #24 to fail
in the attached test:
we can see:
4409: video.duration=4.986366
4410: sourceBuffer.buffered.length = 1
4411: sourceBuffer.buffered.start(0) = 0.0326
4412: sourceBuffer.buffered.end(0) = 10.005333
4412: mediaSource.duration = 4.9863665

Should be:
4409: video.duration=4.986366
4410: sourceBuffer.buffered.length = 1
4411: sourceBuffer.buffered.start(0) = 0.0326
4412: sourceBuffer.buffered.end(0) = 5.0189665
4412: mediaSource.duration = 4.9863665
Where are these attached tests?
see the URL field.

Going to make them into mochitest
Addendum:
4409: video.duration=4.986366
4410: sourceBuffer.buffered.length = 1
4411: sourceBuffer.buffered.start(0) = 0.0326
4412: sourceBuffer.buffered.end(0) = 10.005333
4412: mediaSource.duration = 4.9863665

should be:
4305: * sourceBuffer.updatestart
4305: * sourceBuffer.update
4305: * sourceBuffer.updateend
4409: video.duration=4.986366
4410: sourceBuffer.buffered.length = 1
4411: sourceBuffer.buffered.start(0) = 0.0326
4412: sourceBuffer.buffered.end(0) = 5.0189665
4412: mediaSource.duration = 4.9863665

event updatestart/update/updateend must be fired
Assignee: nobody → jyavenard
Depends on: 1096089
Blocks: 1118123
Depends on: 1120079
Depends on: 1124050
Initial incomplete implementation. Works with youtube, resolution change are now instantaneous
Initial incomplete implementation. Works with youtube, resolution change are now instantaneous
Attachment #8552820 - Attachment is obsolete: true
Attachment #8552821 - Attachment is obsolete: true
Fixed by bug 1130826
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: