Closed Bug 1130239 Opened 10 years ago Closed 9 years ago

Media with data should be seekable within buffered range, even if no data at the current position

Categories

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

x86
macOS
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: jya, Unassigned)

References

(Blocks 1 open bug)

Details

Spawned from bug 1130237 comment 1 We are only supposed to fire loadeddata if we have data to play at the current playback position. However, that should not prevent seeking to be possible within the buffered range. Right now, if we've been unable to decode the first frame, the state machine will not allow seeking.
Priority: -- → P2
I'm not sure this can be easily extended for all media, but for MSE it is imperative. We shouldn't have the MDSM do DECODER_STATE_DECODING_METADATA -> DECODER_STATE_DECODING_FIRSTFRAME -> DECODER_STATE_DECODING and/or DECODER_STATE_SEEKING the loadeddata event is fired once we have completed the DECODER_STATE_DECODING_FIRSTFRAME state. With MSE, we should be able to start seeking immediately after completing DECODER_STATE_DECODING_METADATA as we know that start time (always 0) and the duration (and with this the end time) without having to decode the first frame.
Depends on: 1135170
From bug 1130237: I wrote this test: http://people.mozilla.org/~jyavenard/tests/mse_mp4/paper-offset.html it loads data from 2-12s. Actual Behaviour: first frame at 2s is shown and decoded. Loadeddata is fired. Can't seek until you start playback. Can start playback which does nothing for 2s and then continue. Expected Behaviour: No frame is shown, video element is black. Pressing play does nothing Can seek to 2s, which would cause loadeddata to be fired, can start playback there.
See Also: → 1144987
Priority: P2 → P3
Component: Audio/Video → Audio/Video: Playback
this was fixed by bug 1185972.
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.