New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 618215 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Fake audio doesn't loop

Reported by tsa...@testrtc.com, Jun 8 2016

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36

Example URL:
Any WebRTC service (try appr.tc)

Steps to reproduce the problem:
1. Run Chrome from CLI with --use-fake-ui-for-media-stream --use-file-for-fake-audio-capture --use-fake-device-for-media-stream (make sure to give a .wav file for the audio capture)
2. Go to appr.tc and open a session
3. Join the appr.tc session from another browser
4. Wait until the fake audio runs out - it won't loop

What is the expected behavior?
Audio should loop.
If it doesn't loop, it is hard to do WebRTC tests that are longer than a couple of minutes since the files become too big and messy to handle in test automation.

BTW - the fake video loops nicely in the same scenario

What went wrong?
Audio didn't loop

Did this work before? No 

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? N/A 

Chrome version: 51.0.2704.79  Channel: stable
OS Version: 
Flash Version: Shockwave Flash 21.0 r0
 
Owner: phoglund@chromium.org
Status: Assigned (was: Unconfirmed)
I whipped up a patch to make looping default: https://codereview.chromium.org/2043353002/. I think that's what most people would expect. I originally didn't implement looping because one-shot was better for me at the time.
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d099160b7f26caae6b96a71b057db75e4d6a1af

commit 4d099160b7f26caae6b96a71b057db75e4d6a1af
Author: phoglund <phoglund@chromium.org>
Date: Mon Jun 13 15:47:08 2016

Make fake audio file playback loop by default.

Some do long-running tests with --use-file-for-fake-audio-capture, and
since the flag doesn't loop the audio file by default, you'd need a
huge file to play audio during a long-running test.

Instead of specifying <path> you can now specify <path>%noloop for the
flag arg, e.g. --use-file-for-fake-audio-capture=/my/audio.wav%noloop
to get the old behavior. To get the new behavior, just pass a wav file
path to the flag.

The current WebRTC audio quality tests currently need the file to stop
after the first playout. Another option could be to pad the audio file
with lots of silence at the end.

BUG= 618215 

Review-Url: https://codereview.chromium.org/2043353002
Cr-Commit-Position: refs/heads/master@{#399458}

[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/chrome/browser/media/webrtc_audio_quality_browsertest.cc
[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/media/audio/fake_audio_input_stream.cc
[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/media/audio/simple_sources.cc
[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/media/audio/simple_sources.h
[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/media/audio/simple_sources_unittest.cc
[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/media/base/media_switches.cc

Status: Fixed (was: Assigned)
There we go. Tsahi, this should roll into today's or tomorrow's canary. Please try it out, audio should now be looping by default.

Comment 4 by tsa...@testrtc.com, Jun 14 2016

Thanks for the quick turn around on this one!
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d099160b7f26caae6b96a71b057db75e4d6a1af

commit 4d099160b7f26caae6b96a71b057db75e4d6a1af
Author: phoglund <phoglund@chromium.org>
Date: Mon Jun 13 15:47:08 2016

Make fake audio file playback loop by default.

Some do long-running tests with --use-file-for-fake-audio-capture, and
since the flag doesn't loop the audio file by default, you'd need a
huge file to play audio during a long-running test.

Instead of specifying <path> you can now specify <path>%noloop for the
flag arg, e.g. --use-file-for-fake-audio-capture=/my/audio.wav%noloop
to get the old behavior. To get the new behavior, just pass a wav file
path to the flag.

The current WebRTC audio quality tests currently need the file to stop
after the first playout. Another option could be to pad the audio file
with lots of silence at the end.

BUG= 618215 

Review-Url: https://codereview.chromium.org/2043353002
Cr-Commit-Position: refs/heads/master@{#399458}

[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/chrome/browser/media/webrtc_audio_quality_browsertest.cc
[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/media/audio/fake_audio_input_stream.cc
[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/media/audio/simple_sources.cc
[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/media/audio/simple_sources.h
[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/media/audio/simple_sources_unittest.cc
[modify] https://crrev.com/4d099160b7f26caae6b96a71b057db75e4d6a1af/media/base/media_switches.cc

Labels: M-53

Sign in to add a comment