Closed Bug 1884016 Opened 8 months ago Closed 8 months ago

[wmfme] some fixes and improvements before enabling media engine pref

Categories

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

task

Tracking

()

RESOLVED FIXED
125 Branch
Tracking Status
firefox125 --- fixed

People

(Reporter: alwu, Assigned: alwu)

References

(Blocks 1 open bug)

Details

Attachments

(6 files)

There are some fixes and improvement we can do for the media engine playback.

When enalbing media engine playback, we would always start with the
external state machine that would communicate with the media engine.

If the media format or key system is not supported by the media engine,
we would fallback to the MediaDecoderStateMachine (MDSM). In this
situation, we want this transition invisible to users.

Therefore, if the external state machine has loaded and informed the
loadedmetadata to the media element, we shouldn't do it again.
According to the spec [1], the loadedmetadata should only be
dispatched once.

[1] https://html.spec.whatwg.org/multipage/media.html#event-media-loadedmetadata

In browser_utility_multipleAudio.js we discover an issue where
we incorrectly create a decoder in the MFCDM process for
non-media-engine playback, which made the playback never start.

Adding this check to ensure that non-media-engine playback would never
use a remote decoder from the MFCDM process.

There is a timing issue where we would re-initialize the video bridge
causing an assertion, which is discovered by
browser_utility_multipleAudio.js.

Pushed by alwu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d17677f0c58a part1 : use ExternalEngineStateMachine for non-mse media only when the media engine pref allows non-encrypted playback. r=jolin https://hg.mozilla.org/integration/autoland/rev/783163d736e5 part2 : do not re-inform the decoder owner about `loadedmetadata` if we've loaded metadata before. r=padenot https://hg.mozilla.org/integration/autoland/rev/f678e00a9d18 part3 : add logging. r=media-playback-reviewers,padenot https://hg.mozilla.org/integration/autoland/rev/c2e3aed2c7db part4 : update comment. r=media-playback-reviewers,padenot https://hg.mozilla.org/integration/autoland/rev/0aaf120a192d part5 : only create a remote decoder in the MFCDM process if a media engine ID is provided. r=jolin https://hg.mozilla.org/integration/autoland/rev/99f73914c529 part6 : avoid re-initialize the video bridge. r=gerard-majax
Blocks: 1881620
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: