Closed Bug 1480484 Opened Last year Closed Last year

Add telemetry probe for measuring the amount of the blocked autoplay without audio track

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: alwu, Assigned: alwu)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Even the media without audio track is non-audible, we still block it in our blocking autoplay policy (so does Chrome, but Sarafi doesn't)

We want to know how many blocked autoplay is without audio track.
Attached file Data review request
Attachment #8997584 - Flags: review?(francois)
Priority: -- → P2
Comment on attachment 8997586 [details]
Bug 1480484 - add telemetry scalar to measure the count for blocked media element without audio track.

https://reviewboard.mozilla.org/r/261278/#review268406

::: dom/html/HTMLMediaElement.cpp:4036
(Diff revision 1)
>        (!OwnerDoc()->HasBeenUserGestureActivated() || Autoplay())) {
>      OwnerDoc()->SetDocTreeHadAudibleMedia();
>      if (AutoplayPolicy::WouldBeAllowedToPlayIfAutoplayDisabled(*this)) {
>        ScalarAdd(Telemetry::ScalarID::MEDIA_AUTOPLAY_WOULD_BE_ALLOWED_COUNT, 1);
>      } else {
> +      if (mReadyState >= HAVE_METADATA && !HasAudio()) {

A lot of sites that autoplay do something like:

let v = document.createElement("video");
v.src = url;
v.play();

So when the play() call happens, we won't have loaded metadata, and I think your telemetry would miss that? So I think we also need to check whether we should report this probe once we reach readyState HAVE_METADATA and script tried to autoplay.
Attachment #8997586 - Flags: review?(cpearce) → review-
Comment on attachment 8997586 [details]
Bug 1480484 - add telemetry scalar to measure the count for blocked media element without audio track.

https://reviewboard.mozilla.org/r/261278/#review268662
Attachment #8997586 - Flags: review?(cpearce) → review+
Comment on attachment 8997586 [details]
Bug 1480484 - add telemetry scalar to measure the count for blocked media element without audio track.

https://reviewboard.mozilla.org/r/261278/#review268666

::: dom/html/HTMLMediaElement.cpp:5510
(Diff revision 2)
>    NS_ASSERTION(!HasVideo() || (mMediaInfo.mVideo.mDisplay.width > 0 &&
>                                 mMediaInfo.mVideo.mDisplay.height > 0),
>                 "Video resolution must be known on 'loadedmetadata'");
>    DispatchAsyncEvent(NS_LITERAL_STRING("loadedmetadata"));
> +  // The play invocation had happened before media element loaded metadata.
> +  if (!mPaused && !HasAudio()) {

We should also check the whether volume !=0 and !muted here. We want to report the count of things that we're blocking that Safari is not.
Comment on attachment 8997584 [details]
Data review request

1) Is there or will there be **documentation** that describes the schema for the ultimate data set available publicly, complete and accurate?

Yes, in Scalars.yaml.

2) Is there a control mechanism that allows the user to turn the data collection on and off?

Yes, telemetry setting.

3) If the request is for permanent data collection, is there someone who will monitor the data over time?**

Not permanent.

4) Using the **[category system of data types](https://wiki.mozilla.org/Firefox/Data_Collection)** on the Mozilla wiki, what collection type of data do the requested measurements fall under?  **

Category 1.

5) Is the data collection request for default-on or default-off?

Default ON only in pre-release channels.

6) Does the instrumentation include the addition of **any *new* identifiers** (whether anonymous or otherwise; e.g., username, random IDs, etc.  See the appendix for more details)?

No.

7) Is the data collection covered by the existing Firefox privacy notice?

Yes.

8) Does there need to be a check-in in the future to determine whether to renew the data?

No, telemetry alerts are fine.
Attachment #8997584 - Flags: review?(francois) → review+
Comment on attachment 8997586 [details]
Bug 1480484 - add telemetry scalar to measure the count for blocked media element without audio track.

https://reviewboard.mozilla.org/r/261278/#review268864

Scalars.yaml changes look good.
Attachment #8997586 - Flags: review?(francois) → review+
Pushed by alwu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a7067dbdc7b5
add telemetry scalar to measure the count for blocked media element without audio track. r=cpearce,francois
Backout by nbeleuzu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/818b84e5278b
Backed out changeset a7067dbdc7b5 for build bustages on HTMLMediaElement.cpp. CLOSED TREE
Pushed by alwu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/753fc72a27d5
add telemetry scalar to measure the count for blocked media element without audio track. r=cpearce,francois
https://hg.mozilla.org/mozilla-central/rev/753fc72a27d5
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
You need to log in before you can comment on or make changes to this bug.