Closed Bug 572978 Opened 15 years ago Closed 15 years ago

Decoder may not enter buffering state until it's too late

Categories

(Core :: Audio/Video, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: kinetik, Unassigned)

References

Details

The buffering logic in nsBuiltinDecoderStateMachine sets mBufferExhaused once the decoder position advances past the end of the cached range. Before this happens, it's possible to be in a state where we're near the end of the cached range and the next attempt to decode a frame will block waiting for data. Until this blocking read returns, we don't enter buffering state. For connections that are extremely slow (or stop sending data altogether, but don't kill the TCP connection) we may not enter buffering state for quite some time.
Fixed in landing of Bug 589626; we'll now enter buffering state when we've got less than 300ms of playable audio remaining, or only 1 decoded video frame when we're playing video only.
Status: NEW → RESOLVED
Closed: 15 years ago
Depends on: 589626
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.