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

RESOLVED FIXED

Status

()

defect
P3
normal
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: jya, Unassigned)

Tracking

(Blocks 1 bug)

Trunk
x86
macOS
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

4 years ago
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.

Updated

4 years ago
Priority: -- → P2
(Reporter)

Comment 1

4 years ago
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
(Reporter)

Comment 2

4 years ago
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.
(Reporter)

Updated

4 years ago
See Also: → 1144987

Updated

4 years ago
Priority: P2 → P3
Component: Audio/Video → Audio/Video: Playback
(Reporter)

Comment 3

4 years ago
this was fixed by bug 1185972.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.