w3c / me-media-integration-guidelines

Media Integration Guidelines
https://w3c.github.io/me-media-integration-guidelines/
Other
2 stars 2 forks source link

Source on network vs. Media Source Extensions #8

Open JohnRiv opened 4 years ago

JohnRiv commented 4 years ago

Migrated from https://github.com/w3c/webmediaporting/issues/30:

For the issues in this repo, are any of those answers different if the source of the media element is the URL of a media resource on the network rather than MSE?

chcunningham commented 4 years ago

For Chrome I'm aware of a few differences

FYI: My method for finding these is just looking at our media player code for mentions of chunkdemuxer (the MSE demxuer). The "player" abstraction sets up the pipeline, which triggers decoder selection. The lower layers of our pipeline (those below the "player", including decoding, rendering, etc), are totally agnostic to MSE vs URL.

sandersdan commented 4 years ago

I'm not certain of the reasoning to avoid deferring MSE. It could be that it's much harder to fake the progress events, and was therefore high risk for launching the intervention. Without progress events, I expect many MSE apps would wait forever, never choosing to enter a playing state.

For non-MSE playback, the rule is that we must reach HAVE_CURRENT_DATA. If we don't get that far then HTMLMediaElement will not enter a playing state even if the app calls play(), and therefore the player never learns that it should disable the intervention. There is not much point fixing that internal limitation because the app could be waiting for the same event too.

chcunningham commented 4 years ago

It could be that it's much harder to fake the progress events, and was therefore high risk for launching the intervention.

We don't fire 'stalled' and 'progress' events for MSE. We used to, but it seemed not useful and not to spec. https://groups.google.com/a/chromium.org/g/blink-dev/c/x54XtrTyOP8/m/4-5QZlZzDAAJ