Closed Bug 1551879 Opened 6 years ago Closed 3 years ago

cannot play podcast on agora.at

Categories

(Web Compatibility :: Site Reports, defect, P3)

Firefox 66
defect

Tracking

(firefox66 affected, firefox67 affected, firefox68 affected)

RESOLVED FIXED
Tracking Status
firefox66 --- affected
firefox67 --- affected
firefox68 --- affected

People

(Reporter: andrewdroid, Unassigned)

References

()

Details

(Keywords: webcompat:site-wait)

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0

Steps to reproduce:

Went to https://www.agora.at to check podcast
https://www.agora.at/sendungen-oddaje/detail/which/turtle-island-radio-show
It wont play or even appear
It shows and plays in Brave, Seamonkey and Chrome
Firefox 66.0.5 (64-bit)
Windows 7 64bit

Actual results:

Disabled all blockers cleared cache
no change

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0
20190507012018

Works for me in a brand new profile.

I can't get it to work in a regular profile in either release or nightly, even if I start in safe mode (no add-ons). Maybe someone at support.mozilla.org can determine what setting is causing this.

Summary: cannot play podcast → cannot play podcast on agora.at

After chating with the peeps at Radio Agora it may be something on their side but it would be good to know
Obviously something in firefox as all other browsers I've tried work fine,
I can pass any info on to them which may be helpfull

I've managed to reproduce the issue on Windows 7 using the latest Nightly (v68.0a1) and the current Release version (v66.0.5).

Status: UNCONFIRMED → NEW
Component: Untriaged → Audio/Video: Playback
Ever confirmed: true
Product: Firefox → Core

Hi, andrewdroid,
When the radio didn't start, did you see any error message showing in the web console?
Thank you.

Flags: needinfo?(george.craciun)

The player is not displayed at all when the issue occurs. . The following error messages are displayed in the browser console:

Request to access cookie or storage on “https://www.google-analytics.com/analytics.js” was blocked because it came from a tracker and content blocking is enabled. turtle-island-radio-show
Request to access cookie or storage on “https://www.google-analytics.com/r/collect?v=1&_v=j75&a=8268…6254-63&_gid=95057197.1558507841&_r=1&gtm=2ou5f2&z=876563590” was blocked because it came from a tracker and content blocking is enabled. turtle-island-radio-show

On my side, please note that the issue is not 100% reproducible. Sometimes the player is displayed after the page is refreshed clearing the cookies (Ctrl+Shift+R) or regular refresh (Ctrl+R / F5)

If the content blocking feature is disabled from the shield action menu on the left of the address bar, "Turn off Blocking for this website", the player is displayed and the messages from browser console are not displayed anymore. Sometimes the player is not displayed even if the content blocking is disabled.

Flags: needinfo?(george.craciun)

According to comment5, it seems to me that the issue is not about video playback, it's about website failing to display the player.

In their JS code, they would show the player after class player_sendung is not empty, but I couldn't find anything about when they would add element into player_sendung .

Maybe DOM team can help to triage this issue?

Component: Audio/Video: Playback → DOM: Core & HTML

(In reply to Alastor Wu [:alwu] from comment #4)

Hi, andrewdroid,
When the radio didn't start, did you see any error message showing in the web console?
Thank you.

I'm not so teccy but looked just now and had web console open on the debugger tab and refreshed the page and the player appeared then tried without the console open and got same as before result no player so did it again with WC open at debugger tab and player appears.
if its any use I can p+p any infor from the console to you but need to tell me what would be good.
thanks for your attention

(In reply to Alastor Wu [:alwu] from comment #6)

According to comment5, it seems to me that the issue is not about video playback, it's about website failing to display the player.

In their JS code, they would show the player after class player_sendung is not empty, but I couldn't find anything about when they would add element into player_sendung .

Hello Mike,
Smells like a webcompat issue ... Will your team be able to help continue the investigation on top of what Alastor had found? thanks!

Maybe DOM team can help to triage this issue?

Flags: needinfo?(miket)

Ksenia, can you take a look please?

Flags: needinfo?(miket) → needinfo?(kberezina)

I've inspected this source file and it looks like some sort of a race condition happening there. On window load event player is being initialized:

$(window).on('load', function () {
    initAudioPlayer();
   ....
});

While in initAudioPlayer there is a check for window.sm2BarPlayers[0]:

function initAudioPlayer() {
    if (typeof window.sm2BarPlayers[0] != 'undefined') {
          player initialization happens here
     }
}

Down below there is window.sm2BarPlayers = players; and:

    soundManager.onready(function () {
        var nodes,
            i,
            j;
        nodes = utils.dom.getAll(playerSelector);
        if (nodes && nodes.length) {
            for (i = 0, j = nodes.length; i < j; i++) {
                players.push(new Player(nodes[i]));
            }
        }
    });

So players becomes not empty when soundManager is ready. I put timers in Chrome and Nightly and here are results:

Chrome:
sound manager: 48.13720703125ms
page load: 560.93798828125ms

Nightly on Mac:
sound manager: 149ms
page load: 854ms

Nightly on Windows:
page load: 1191ms
sound manager: 2036ms

For Nightly on Windows the page load fires first, so window.sm2BarPlayers is always empty and the player is not being initialized. I'll try to investigate further to see if there is a reason for such behavior.

Didn't find anything suspicions, and since it's only reproducible sometimes, I think changing the code to eliminate the possibility of the race condition would be a good idea.

As a quick workaround the site could also try putting initAudioPlayer() inside another soundManager.onready

$(window).on('load', function () {
    soundManager.onready(function () {
        initAudioPlayer();
    });

I've tried it and it fixes the issue for me.

From the docs: SoundManager processes the onready and ontimeout queue in the order items were added. You can also add callbacks via soundManager.onready() and soundManager.ontimeout(), respectively. If you add listeners for these events after SM2 has loaded, your callback will be fired immediately.

Flags: needinfo?(kberezina)

Thanks Ksenia! Dennis, since this company is based in Austria, would you mind trying to reach out? Comment #11 has a suggested fix to this race condition.

Component: DOM: Core & HTML → Desktop
Flags: needinfo?(dschubert)
Product: Core → Web Compatibility
Version: 66 Branch → Firefox 66
Priority: -- → P3

I do not mind, and I have reached out! :)

Flags: needinfo?(dschubert)

I can play podcasts on this site, by clicking "GoLive" button from the top right side of the page.
https://prnt.sc/jCVsmwBwut1N

If I navigate to https://www.agora.at/livestream/ and click the "Play" button the audio plays.
https://prnt.sc/2wCVNID6DIjr

Tested with:
Browser / Version: Firefox Nightly 103.0a1 (2022-06-16)
Operating System: Windows 10 Pro

Andrew can you still reproduce it?

Status: NEW → RESOLVED
Closed: 3 years ago
Flags: needinfo?(andrewdroid)
Resolution: --- → FIXED

(In reply to Oana Arbuzov [:oanaarbuzov] from comment #14)

Andrew can you still reproduce it?

I think its sorted the hosts changed something a while ago
thanks for looking into it all

Flags: needinfo?(andrewdroid)
You need to log in before you can comment on or make changes to this bug.