| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
audio frames. A FIFO is used to adapt to the buffer size requested by the client.
Tested with WebRTC clients in Chrome as well.
Added media_unittests as well for different sample rates.
BUG=154352
TEST=content_unittests --v=1 --gtest_filter=WebRTC*
Review URL: https://chromiumcodereview.appspot.com/11099013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161328 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the crashes happened when the devices were being unplugged in audio_manager_mac.cc line 132 AudioObjectGetPropertyDataSize(), and some crashes happened in HasAudioInputDevices().
This Cl uses another way to query the input devices, hopefully it fixes the issue.
TBR=tommi@chromium.org
BUG=153411
TEST=media_unittests
Review URL: https://codereview.chromium.org/11086050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161124 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AudioManagerMac::GetAudioInputDeviceNames.
Most of the crashes happened when the devices were being unplugged in audio_manager_mac.cc line 132 AudioObjectGetPropertyDataSize(), and some crashes happened in HasAudioInputDevices().
This Cl uses another way to query the input devices, hopefully it fixes the issue.
This CL makes the mac memory bot fail, revert it for now.
BUG=153411
TEST=media_unittests
Review URL: https://chromiumcodereview.appspot.com/11087045
TBR=xians@chromium.org
Review URL: https://codereview.chromium.org/11091045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161107 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the crashes happened when the devices were being unplugged in audio_manager_mac.cc line 132 AudioObjectGetPropertyDataSize(), and some crashes happened in HasAudioInputDevices().
This Cl uses another way to query the input devices, hopefully it fixes the issue.
BUG=153411
TEST=media_unittests
Review URL: https://chromiumcodereview.appspot.com/11087045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161096 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TBR=ben,brettw,oshima,rdsmith
Review URL: https://chromiumcodereview.appspot.com/11087021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160999 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
match and it is a number smaller than 2047.
To be in par with M23.
BUG=152780
TEST=apprtc.appspot.com/?debug=loopback, no choppy audio
Review URL: https://chromiumcodereview.appspot.com/11014015
TBR=xians@chromium.org
Review URL: https://codereview.chromium.org/11028092
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160820 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise we'll hit a CHECK() later since the shared memory isn't configured for the new frame size.
BUG=154352
TEST=mac build no longer crashes.
Review URL: https://chromiumcodereview.appspot.com/11086009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160759 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
the our scheduling for recording.
BUG=153505
TEST=apprtc.appspot.com?debug=loopback, listen to the audio.
Review URL: https://codereview.chromium.org/11065037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160661 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implementation of AudioOuputStream for Windows using the WASAPI API.
Both input and output device must use the same sample rate.
Corresponding implementation for Mac OS X is given by http://codereview.chromium.org/10916105/.
Additional test using full Chrome:
http://webaudiodemos.appspot.com/input/index.html
Local tests have been performed using a wide range of audio devices and sample rates. It has also been verified that the QoS is good between two different devices as well as long as they both run at the same sample rate.
12 hour test of http://webaudiodemos.appspot.com/input/index.html worked well.
Verified that we log a warning "Unified audio I/O is not supported." if the user has selected different sample rates for in and out.
BUG=145092
TEST=media_unittests.exe --gtest_filter=WASAPIUnified* --enable-webaudio-input
Review URL: https://codereview.chromium.org/10959068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160346 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
couple that ensure Stop() has already been called).
BUG=none
TEST=none
TBR=willchan,hans
Review URL: https://codereview.chromium.org/11026019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159812 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
latest ubuntu like 12.04. My tests show that it will freeze the pulseaudio for a while and get into underrun state. And it seems snd_pcm_set_params works better for the same purpose.
This patch also fixes the choppy audio issue for webrtc in ubuntu 12.04.
BUG=152232,153505
TEST=use pepper flash (./out/Debug/chrome -ppapi-flash-path=/your/path/libpepflashplayer.so)
open link http://www.youtube.com/watch?v=F7pYHN9iC9I&feature=youtu.be in two tabs, audio should be good.
uses apprtc.appspot.com to make a loopback call and verify the audio is good on ubuntu 12.04
Review URL: https://chromiumcodereview.appspot.com/11019010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159680 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
number smaller than 2047.
BUG=152780
TEST=apprtc.appspot.com/?debug=loopback, no choppy audio
Review URL: https://chromiumcodereview.appspot.com/11014015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159666 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
non-Windows. Instead change files that use this to specifically #ifdef it for OS_WIN, like we do most other Windows-specific code.
I plan to factor out the "subclass base::Thread to init MTA on Windows" pattern to its own file in a followup change.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/10990079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159545 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/10984063
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159430 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pulls in the security fix for issue 152691 and adds a test for the
problematic file. Additionally fixes a few issues which have led
to rusting:
- Updates hashes after AudioBus::ToInterleaved() changes.
- Fixes a bunch of EXPECT_CALL failures and log spam since not all
tests will satisfy these expectations due to invalid files.
- Fixes a bug in the hashing code when NullAudioSink is never
initialized.
BUG=152691
TEST=unit tests.
Review URL: https://codereview.chromium.org/10989089
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159352 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: https://chromiumcodereview.appspot.com/10939010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159137 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using CRAS, set up audio streams based on the desired sample rate,
not the "hardware" sample rate. CRAS will configure the hardware for
the sample rate if possible and sample rate convert if not.
BUG=chromium-os:34724
TEST=play 44.1 video on youtube, check that the hardware is configured
for 44.1.
Signed-off-by: Dylan Reid <dgreid@chromium.org>
Review URL: https://chromiumcodereview.appspot.com/10991019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158772 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows will return a sample rate of zero if audio can't
be output, in this case we shouldn't return a buffer size
of zero.
Some hardware also might return a hardware sample rate < 100,
in this case we should choose a non-zero fixed buffer size to
prevent crashes.
In either case, AudioOutputResampler will later check the hardware
config for validity and fallback to the high latency audio path in
cases where a bogus sample rate exists.
BUG=152073
TEST=compiles
Review URL: https://codereview.chromium.org/10993013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158651 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
AudioDeviceStop().
BUG=151990
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10963062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158489 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
error.
BUG=150980
Review URL: https://chromiumcodereview.appspot.com/10970007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158185 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/10964040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157946 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes an issue where we've opened streams through the AudioOutputDispatcher
successfully, but eventually fail to open a stream. At this point the old
code would try to fallback to the high latency audio path and in the process
destroy the old AudioOutputDispatcher during Initialize()... leaving a bunch
of physical audio streams in the ether calling OnMoreDataResampler callbacks
which no longer have a way to stop the associated stream before being deleted.
This also explains the "double-Stop()" errors from issue 149815, since they
were not double-Stop() but rather Stop() on an AudioOutputProxy that the new
dispatcher didn't know about.
Rolls in the following fixes as well:
- Replaces lock with message_loop_ check.
- Fixes an issue where physical streams were incorrectly closed on Open failure.
- Rollback of previous double-Stop() and CHECK() changes.
BUG=150619
TEST=new media unittest.
Review URL: https://codereview.chromium.org/10958020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157940 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
My first attempt at a fix (r157378) was no good as it's legal to repeatedly start and stop an AudioOutputDevice. This time around we use flag to track a pending stop so we don't start AudioDeviceThread knowing the client had requested a stop.
BUG=147499
Review URL: https://chromiumcodereview.appspot.com/10958004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157841 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
today see odd crashes related to an illegal AudioSourceCallback pointer.
BUG=150619
TEST=media_unittests and content_unittests
Review URL: https://codereview.chromium.org/10970010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157756 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bandaid over situations where we are seemingly calling Close() without
calling Stop() beforehand.
BUG=150619
TEST=media_unittests
Review URL: https://codereview.chromium.org/10950033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157652 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
restarting a call.
I've kept my unit test changes intact but disabled until I get a proper fix.
BUG=147499,150805
TBR=henrika
Review URL: https://codereview.chromium.org/10946040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157626 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TBR=dalecurtis@chromium.org
BUG=150570
TEST=content_unittests, manual tests: WebRTC on linux works fine.
Review URL: https://codereview.chromium.org/10937027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157542 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TBR=dalecurtis@chromium.org
BUG=150570
TEST=content_unittests, manual tests: WebRTC on linux works fine.
Review URL: https://codereview.chromium.org/10910306
TBR=xians@chromium.org
Review URL: https://codereview.chromium.org/10952022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157532 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TBR=dalecurtis@chromium.org
BUG=150570
TEST=content_unittests, manual tests: WebRTC on linux works fine.
Review URL: https://codereview.chromium.org/10910306
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157524 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It broke ChromeOS build:
http://build.chromium.org/p/chromium.chromiumos/builders/ChromiumOS%20%28x86%29/builds/8475/steps/BuildTarget/logs/stdio
The real root cause seems to be the weird header in ChromeOS tree, though...
(#define min!)
http://git.chromium.org/gitweb/?p=chromiumos/third_party/adhd.git;a=blob;f=cras/src/common/cras_util.h;h=2bfd975ee21c4408e855401a5113404d9e48deb0;hb=HEAD
BUG=150570
TEST=WebRTC on linux works fine.
Review URL: https://chromiumcodereview.appspot.com/10952007
TBR=dalecurtis@chromium.org
Review URL: https://codereview.chromium.org/10948031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157507 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=150570
TEST=WebRTC on linux works fine.
Review URL: https://chromiumcodereview.appspot.com/10952007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157503 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an AudioOutputProxy ended up being reused, we end up with
an audio dropout since the callback was cleared during the
last call to StopStream().
BUG=150702
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10941026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157501 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible we're getting into a state where there's an imbalance
between Start() and Stop() calls leaving objects around.
Promote the existing DCHECKs on current state to CHECKs so we
can be sure this is not the case.
BUG=150619
TEST=none
Review URL: https://codereview.chromium.org/10949012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157494 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
We shouldn't leave a potentially invalid pointer lying around.
BUG=150619
TEST=none
Review URL: https://codereview.chromium.org/10948028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157454 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Due to ordering of messages between the media thread and the IO thread it was possible for AudioOutputDevice to receive OnStreamCreated() after AudioRendererImpl had called Stop(). Since AudioRendererImpl is deleted shortly after calling Stop(), AudioDeviceThread would get started with a callback pointer to a potentially deleted AudioRendererImpl.
BUG=147499
TEST=media_unittests, asan build w/ test file included in bug report
Review URL: https://codereview.chromium.org/10938006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157378 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AudioOutputResampler only handled the first StartStream() call,
despite the fact that since AudioOutputDispatchers are shared
StartStream() can be called many times.
The new approach puts each resampler/fifo pair in a new object
which is tied to the AudioOutputProxy pointer passed to the
dispatcher (similar to AudioOutputMixer).
BUG=150003
TEST=Multiple YouTube tabs open, sound plays fine. Unit tests.
Review URL: https://codereview.chromium.org/10913310
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157306 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AudioSynchronizedStream is an implementation of AudioOuputStream for Mac OS X
when using an input and output which are *not* unified in the same driver.
This requires managing a separate input and output thread for each of the drivers
and synchronizing them with a FIFO and varispeed.
This synchronization involves two threads, and requires that the FIFO be made
thread-safe in the sense that one thread may call AudioFifo::Push() while
a second thread calls AudioFifo::Consume(). It is not acceptable to simply
require the client to put locks around these calls because they can (and will) be
contended (causing glitches) since both threads are real-time audio threads.
BUG=none
TEST=extensive manual testing on various machines, audio hardware, and input/output sample-rates
R=scherkus
Review URL: https://chromiumcodereview.appspot.com/10909185
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157251 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
(e.g. ask for native sample rate in WASAPI) from this thread.
BUG=none
TEST=content_unittests on Windows
Review URL: https://chromiumcodereview.appspot.com/10909271
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157225 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=149815
TEST=Stop() twice no longer crashes.
Review URL: https://codereview.chromium.org/10916342
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157161 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=149815
TEST=Return 0 from hardware sample rate.
Review URL: https://codereview.chromium.org/10915309
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157153 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=No compile errors when building with the 10.7 SDK.
NOTRY=true
TBR=crogers
Review URL: https://chromiumcodereview.appspot.com/10910300
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157024 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implementation of AudioOuputStream for Mac OS X using the
CoreAudio AudioHardware API suitable for low-latency synchronized audio I/O.
For use with professional audio devices (Firewire/USB/etc.) which support *both* input and output
in the same driver callback.
BUG=none
TEST=none
(manually tested on several different audio hardware devices on Snow Leopard and Mountain Lion)
Review URL: https://chromiumcodereview.appspot.com/10916105
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156919 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TBR=scherkus
TEST=--v=1 --gtest_also_run_disabled_tests --gtest_filter=WASAPIAudioOutputStreamTest*ReadFromStereo* using an audio-device setting with 1 output channel
Review URL: https://chromiumcodereview.appspot.com/10911309
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156851 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=147572
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10928147
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156803 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The non-WASAPI path (WaveOut) will automatically handle resampling and bits
per sample differences, so skip invoking AudioOutputResampler's resampler and
bits per sample adjustment code.
BUG=148418
TEST=windows build / henrika
TBR=scherkus
Review URL: https://codereview.chromium.org/10913267
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156801 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we can't add these easily to AudioOutputResampler right now and
we need these statistics, log them at the device level.
BUG=148418
TEST=Windows build.
TBR=scherkus
Review URL: https://chromiumcodereview.appspot.com/10933090
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156797 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We may need to help users triage audio issues, this flag will allow
us to determine which audio path they're one.
BUG=148418
TEST=media_unittests w/ flag results in failed fallback tests.
Review URL: https://chromiumcodereview.appspot.com/10915276
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156783 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=chromium-os:32926
TEST=play youtube and check the device name.
Review URL: https://chromiumcodereview.appspot.com/10854200
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156527 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pretty simple fallback solution. There are certainly other ways
we could do this, but this is perhaps the most succinct.
AudioOutputResampler will automatically downgrade to using the
non-low latency path when OpenStream() fails.
Some tweaking may be necessary to figure out the best parameters
to use when a low latency stream fails.
BUG=148418
TEST=Force failed low latency stream creation. Flash still works.
Review URL: https://chromiumcodereview.appspot.com/10909151
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156341 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
TBR=scherkus
Review URL: https://chromiumcodereview.appspot.com/10905240
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156307 0039d316-1c4b-4281-b951-d872f2087c98
|