googleads / videojs-ima

IMA SDK Plugin for Video.js
Apache License 2.0
450 stars 284 forks source link

Second ad in a pod of 2+ ads unmutes itself automatically #957

Closed matt-iakhno closed 3 years ago

matt-iakhno commented 3 years ago

"video.js": "^7.9.7" "videojs-ima": "^1.8.3" "videojs-contrib-ads": "^6.7.0"

Hi IMA team,

I am having a problem player volume during VAST podding (both preroll and midroll).

A link to reproduce the issue is available here:

Steps to reproduce:

  1. Play the video. The video is configured with a midroll at 1 minute, with multiple ads inside the pod. The VMAP URL is being printed to the console.
  2. Click on the ad marker to fast forward to the ad break.
  3. When the first ad begins playing, mute the player (if it isn't already muted).
  4. Wait until the first ad finishes playing. The second ad in the pod will begin to play, but the volume will be turned back on.

I turned on debug mode for now so a full console output is available.

The only hint I have is this log in console, but I'm not sure where it's coming from or what it means:

bridge3.419.0_debug_en.html:894 [ 29.513s] [ima.admanager.VideoAdManager] Event type not supported: unmute

Could the first ad be sending some sort of "adended" or "unmute" event that the player is interpreting as a signal to turn the volume on for some reason?

Do you have any advice? Best, Matt

Kiro705 commented 3 years ago

Hello @matt-iakhno ,

Thank you for sharing this issue. I was able to see the behavior you described on the linked page. Is it possible to reproduce this behavior in either the IMA Video Suite Inspector or the VideoJS-IMA plugin test page?

If so, please privately share the ad-tag to my email, jsui@google.com, and I can continue to debug this issue.

Thank you, Jackson IMA SDK DevRel

matt-iakhno commented 3 years ago

Hi Jackson,

I am unable to reproduce in the VideoJS-IMA plugin test page, however I have made further progress in debugging.

First I found this thread, and tried the solution - https://groups.google.com/g/ima-sdk/c/m4WYh3b7jaQ?pli=1

this.player.on("volumechange", function() {

     // specific rules for ad manager volume

     var newVolume = this.muted() ? 0 : this.volume();

     if (this.adsManager) {

          this.adsManager.setVolume(newVolume)

     }
});

This worked for me, but only if I also disable the "enable preloading" setting in the adsRenderingSettings key of the ad_settings object.

If I enable preloading, the behavior returns to the behavior described in this ticket.

Here is a Codepen of a 100% vanilla VideoJS player with adsRenderingSettings.enablePreloading = true - it has the same issue. The CodePen has the same VMAP URL with a podded midroll at 30s.

https://codepen.io/mattdsp/pen/dyXmyYV

Is there a way to make this work AND have preloading on?

Best, Matt

Kiro705 commented 3 years ago

Hello @matt-iakhno ,

Thank you for sharing, I was able to reproduce the unmuted ad.

Looking into it more, this is actually an issue with the IMA SDK and not the videoJS-IMA plugin. I will raise the issue with the IMA team. Once the fix is made it will be automatically updated in all implementations of the HTML5 IMA SDK because it is an 'evergreen' SDK. I will plan to update this issue once the fix is made and live.

Kiro705 commented 3 years ago

Hello @matt-iakhno ,

This issue has been addressed in v3.424.1 of the IMA H5 SDK (see release history).

Would it be possible for you to verify this change resolves the behavior you are seeing? Once that has been confirmed I can close this issue.

Slind14 commented 3 years ago

For us, it seems to have resolved the issue. Thank you.

matt-iakhno commented 3 years ago

Hi @Kiro705 - looks great on our end. Thank you!!!

matt-iakhno commented 3 years ago

Hi @Kiro705

Sorry to bump this - but I am now getting the same behavior on podded midrolls (whereas previously it was only for prerolls). Can you please advise?

EDIT: https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/history

I can see the release was rolled back. Will monitor the release history page.

Kiro705 commented 3 years ago

Hello @matt-iakhno ,

I believe that this fix had to be rolled back as we found an issue with the release it was apart of. Once that issue is resolved the fix should be reimplemented. You can look to the IMA SDK H5 release history for more information.

matt-iakhno commented 3 years ago

Hi @Kiro705 is there any way I can follow up with the IMA team regarding the progress on this issue? It has been over a month and I still don't see a "rollback rollback" in the release history.