Closed Bug 1506286 Opened 6 years ago Closed 6 years ago

LoopingState incorrectly discards audio data

Categories

(Core :: Audio/Video: Playback, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: alwu, Assigned: alwu)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

`mMaster->mCurrentPosition` is always smaller or equal than `mAudioLoopingOffset` [1] because `mMaster->mCurrentPosition` is the time which doesn't be adjusted, and that causes incorrectly discarding audio data.

We should use clock time here. 

[1] https://searchfox.org/mozilla-central/rev/a3894a4dcfb5d42f2e6eee6cb9faf7141879ef1a/dom/media/MediaDecoderStateMachine.cpp#971
Should use both adjusted time to do time comparison.
After discarding looping data, all data playback need are all in the queue. There is no need to
request more data, so we should finish the queue and disconnect the request.
Priority: -- → P2
Attachment #9024136 - Attachment description: Bug 1506286 - part2 : finish queue after discard data. → Bug 1506286 - part2 : finish queue after discarding data.
Pushed by alwu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2ad50b98f99f
part1 : use clock time to decide whether need to discard data. r=jya
https://hg.mozilla.org/integration/autoland/rev/7d4844c4c21d
part2 : finish queue after discarding data. r=jya
https://hg.mozilla.org/mozilla-central/rev/2ad50b98f99f
https://hg.mozilla.org/mozilla-central/rev/7d4844c4c21d
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
No longer depends on: seamless-looping
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: