Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Issue 138454 Music pauses and resumes unexpectedly during CPU load
Starred by 9 users Reported by alonmozi...@gmail.com, Jul 22 2012 Back to list
Status: WontFix
Owner: ----
Closed: Nov 2015
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment
Chrome Version       : 21.0.1180.15 (Official Build 144745) dev
OS Version: Ubuntu
URLs (if applicable) : http://www.syntensity.com/static/night14/medium.html
Other browsers tested:
  Add OK or FAIL after other browsers where you have tested this issue:
  Firefox 4.x: OK

What steps will reproduce the problem?

1. Load the URL above. It will play some music as it downloads and then starts.
2. Click ok to dismiss a warning alert about sound effects not loading (see below, this is unrelated).
3. Starting is complete when "please wait" vanishes and it says "press fullscreen to start the game". You can also see that CPU activity stops when starting is complete. (Note: No need to press fullscreen, the bug already happened by now.)

What is the expected result?

The music should play without pauses, until starting completes (see definition of starting above. After starting is done, it is expected that the music should stop).

What happens instead?

The music pauses for a noticeable duration a few times during load.

Please provide any additional information below. Attach a screenshot if
possible.

Source for setting up the music is at

http://www.syntensity.com/static/night14/setup.js

Basically just

Module.loadingMusic = new Audio();
Module.loadingMusic.src = 'OutThere_0.ogg';
Module.loadingMusic.play();

Perhaps the unexpected pauses and resumes are related to that there is a lot of CPU activity during starting?

Note that there is a separate issue with sound effects in the game,  issue 124926 . The problem there is loading of sound effects using blobs, and is the cause for a popup saying the browser could not load sound effects. The problem in this issue is with playing an audio element in the simple way described above (no blobs etc.).

 
Comment 1 Deleted
Labels: -OS-Linux OS-All Feature-Media
I am able to repro it on Linux gc Version 22.0.1217.0 
Win 7 gc: 22.0.1217.0  
Status: Untriaged
alonmozilla/vfederov: can you try with --disable-audio-mixer?
I still have the problem with --disable-audio-mixer.

Was able to repro it with --disable-audio-mixer on gc: 22.0.1221.1
Blockedon: chromium:133637
Labels: -Area-Undefined -Pri-2 -Feature-Media Area-WebKit Pri-3 Feature-Media-Audio Mstone-23
Owner: dalecur...@chromium.org
Status: Assigned
OK it took a while to find a version of chrome that worked but I confirmed it.

I'm going to assign to dalecurtis@ as he's got a lot of exciting audio improvements underway!

dalecurtis: I'm putting this in M23 but feel free to adjust as needed after renderer-side mixing lands
@alonzakai: Can you try with --enable-renderer-side-mixing on M22 or higher?
Comment 9 by alonza...@gmail.com, Aug 16 2012
On 22.0.1229.6 with --enable-renderer-side-mixing I still get the bug.

@alonzakai: Thanks for the information. I'll dig in and figure out what's going on.

In the mean time you might try loading the music into an in-memory buffer via WebAudio and see if that helps. Here's some rough code which should do that if you want to drop it in and give it a spin:

<script type="text/javascript">
var context = new webkitAudioContext();

// cribbed from: http://jeromeetienne.github.com/slides/webaudioapi/#13
function loadSound(url, ctx, onSuccess, onError) {
    // init request
    var request = new XMLHttpRequest();
    request.open('GET', url, true);
    request.responseType = 'arraybuffer'; // <= here secret sauce!

    // function called once data is loaded
    request.onload = function() {
        // request.response === encoded... so decode it now
        ctx.decodeAudioData(request.response, function(buffer) {
            onSuccess && onSuccess(buffer);
        }, function() {
            onError && onError();
        });
    }

    request.send(); // Start the request
}

loadSound('OutThere_0.ogg', context, finishLoading, function() { alert('oh no!'); });

function finishLoad(buffer) {
  var source = context.createBufferSource();
  source.buffer = buffer;
  source.connect(context.destination);
  source.noteOn(0);
}
</script>

The Bananabread Demo
https://developer.mozilla.org/media/uploads/demos/a/z/azakai/3baf4ad7e600cbda06ec46efec5ec3b8/bananabread_1346106841_demo_package/game.html?low,low
Also seems to suffer from this bug.

Sound stutters badly on Chrome, but plays perfectly on Firefox.
A safer link is

https://developer.mozilla.org/demos/detail/bananabread

since the longer link is for that specific build (which will become invalid when updated). You do need to click through to the Arena level though in the link I just pasted.

Labels: -Mstone-23
Blockedon: -chromium:133637
Owner: ----
Status: Available
Project Member Comment 15 by bugdroid1@chromium.org, Mar 10 2013
Labels: -Area-WebKit -Feature-Media-Audio Cr-Content Cr-Internals-Media-Audio
Project Member Comment 16 by bugdroid1@chromium.org, Apr 6 2013
Labels: -Cr-Content Cr-Blink
I'm not sure this is correctly labeled to get the best traction. If I find a better label, I'll update it in the next few days.
Labels: StaleAvailable
Labels: StaleClosed
Status: WontFix
these bugs are stale for > 6 month. After 3 rounds of call, the bug owners still haven't marked them as StaleKeep. I assume the bug owner has no intention to keep them. Close these bug, and add label StaleClosed, so it's possible to bring them back in the future.
Comment 20 by Deleted ...@, Nov 20 2015
][k,l
'
hi

Sign in to add a comment