Closed Bug 1787567 Opened 4 years ago Closed 4 years ago

Looping fails to work for media engine playback

Categories

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

defect

Tracking

()

RESOLVED FIXED
106 Branch
Tracking Status
firefox106 --- fixed

People

(Reporter: alwu, Assigned: alwu)

References

Details

Attachments

(1 file)

No description provided.

This patch fixes several looping issues by doing following changes

  1. always store the sample request tokens

When a sample request comes after a stream ends, if we don't store the
token, then we won't be able to send the sample to the media engine
because there is no sample request token. The media engine is still
waiting for the reply for the previous tokens which weren't stored by
us which causing the playback stuck.

  1. check sample request token after receiving EOS

If a sample request comes before EOS, then we should still reply that
after receiving EOS. Otherwise, same as (1), the media engine will still
be waiting that token

  1. prevent sending end events multiple times
    Sending MEEndOfStream multiple times causes the media engine sending
    MF_MEDIA_ENGINE_EVENT_ENDED multiple times as well, which causes some
    unnessary code execution.
Pushed by alwu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/bbbdff6fe2f5 make looping work for the media engine playback. r=jolin
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 106 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: