summaryrefslogtreecommitdiffstats
path: root/media/audio
Commit message (Collapse)AuthorAgeFilesLines
* Ensures that we always run the low-latency audio capture at natively 128 ↵henrika@chromium.org2012-10-114-36/+96
| | | | | | | | | | | | | | | | 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
* M23 shows lots of crahses with AudioManagerMac::GetAudioInputDeviceNames.xians@chromium.org2012-10-102-27/+22
| | | | | | | | | | | | | | 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
* Revert 161096 - M23 shows lots of crahses with ↵xians@chromium.org2012-10-102-22/+27
| | | | | | | | | | | | | | | | | | | | | 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
* M23 shows lots of crahses with AudioManagerMac::GetAudioInputDeviceNames.xians@chromium.org2012-10-102-27/+22
| | | | | | | | | | | | | | 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
* Cleanup: IWYU for base/time.h. Also fix misc lint errors.thestig@chromium.org2012-10-103-3/+0
| | | | | | | | 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
* Revert 159666 - Use clients' preferred buffer size when the sample rates ↵xians@chromium.org2012-10-092-24/+0
| | | | | | | | | | | | | | | | 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
* Prevent AudioLowLatencyInputMac from changing frame sizes.dalecurtis@chromium.org2012-10-092-14/+37
| | | | | | | | | | | | 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
* It seems PcmReadi() is often gives out more than 1 packets and this destroy ↵xians@chromium.org2012-10-081-3/+1
| | | | | | | | | | | 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
* Add WASAPI-based unified audio I/O back-end for Windows 7.henrika@chromium.org2012-10-055-340/+1537
| | | | | | | | | | | | | | | | | | | | | | | 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
* Call Stop() from all destructors of base::Thread subclasses (except for a ↵pkasting@chromium.org2012-10-031-0/+1
| | | | | | | | | | | 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
* It seems that snd_pcm_hw_params_set_* API does not work well any more in the ↵xians@chromium.org2012-10-021-66/+7
| | | | | | | | | | | | | | | 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
* Use clients' preferred buffer size when the sample rates match and it is a ↵xians@chromium.org2012-10-022-0/+24
| | | | | | | | | | | 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
* Clean up scoped_com_initializer.h, primarily by removing #ifdefs for ↵pkasting@chromium.org2012-10-015-47/+69
| | | | | | | | | | | | 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
* Style guide compliance: don't handle DCHECK failure.pkasting@chromium.org2012-09-293-32/+8
| | | | | | | | 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
* Roll FFmpeg DEPS + Fixup FFmpeg tests.dalecurtis@google.com2012-09-281-1/+4
| | | | | | | | | | | | | | | | | | 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
* Cleanup: avoid foo ? true : false, part 1.thestig@chromium.org2012-09-271-1/+1
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10939010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159137 0039d316-1c4b-4281-b951-d872f2087c98
* audio_manager_linux: Allow CRAS to decide if sample rate conversion is needed.dgreid@chromium.org2012-09-261-7/+8
| | | | | | | | | | | | | | | | | 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
* Return fixed hardware buffer size for odd sample rates.dalecurtis@google.com2012-09-251-2/+15
| | | | | | | | | | | | | | | | | | | | | 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
* AudioHardwareUnifiedStream::Stop() must not clear |source_| before calling ↵crogers@google.com2012-09-251-2/+1
| | | | | | | | | | | 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
* Add appropriate 64-bit mac flags for src/media targets and fix a compilation ↵badea@adobe.com2012-09-221-1/+1
| | | | | | | | | | | 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
* Trivial EOL fix (removed Windows CR-LF).henrika@chromium.org2012-09-211-1/+1
| | | | | | | | | 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
* Don't fallback if we've successfully opened a stream previously.dalecurtis@google.com2012-09-217-62/+146
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Prevent AudioDeviceThread from starting if clients have called Stop() (round 2).scherkus@chromium.org2012-09-203-58/+90
| | | | | | | | | | | 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
* This CL is an attempt to improve sanity in WASAPIAudioOutputStream where we ↵henrika@chromium.org2012-09-202-424/+408
| | | | | | | | | | | 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
* Force audio stream Stop() before Close().dalecurtis@google.com2012-09-192-6/+9
| | | | | | | | | | | | 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
* Revert r157378 as it caused WebRTC to dereference null pointers when ↵scherkus@chromium.org2012-09-193-25/+10
| | | | | | | | | | | | | 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
* Pass through small buffer sizes without FIFO on Linux.xians@chromium.org2012-09-193-1/+25
| | | | | | | | | | 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
* Revert 157524 - Pass through small buffer sizes without FIFO on Linux.xians@chromium.org2012-09-193-22/+1
| | | | | | | | | | | | | 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
* Pass through small buffer sizes without FIFO on Linux.xians@chromium.org2012-09-193-1/+22
| | | | | | | | | | 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
* Revert 157503 - Pass through small buffer sizes without FIFO on Linux.kinaba@chromium.org2012-09-193-21/+1
| | | | | | | | | | | | | | | | | | | | 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
* Pass through small buffer sizes without FIFO on Linux.dalecurtis@chromium.org2012-09-193-1/+21
| | | | | | | | | | 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
* Reset callback used by OnMoreDataResampler on StartStream.dalecurtis@chromium.org2012-09-192-25/+38
| | | | | | | | | | | | | 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
* Promote AudioOutputProxy state machine DCHECKs to CHECKs.dalecurtis@google.com2012-09-191-3/+3
| | | | | | | | | | | | | | | 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
* Clear source callback after WASAPI audio thread stops.dalecurtis@google.com2012-09-191-0/+3
| | | | | | | | | | | 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
* Prevent AudioDeviceThread from starting if clients have called Stop().scherkus@chromium.org2012-09-183-111/+141
| | | | | | | | | | | 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
* Fix output resampler to handle multiple StartStream() calls.dalecurtis@google.com2012-09-183-204/+286
| | | | | | | | | | | | | | | | | 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
* Add Mac OS X synchronized audio I/O back-endcrogers@google.com2012-09-185-7/+1227
| | | | | | | | | | | | | | | | | | | | 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
* Adds COM init to AudioManager thread to ensure that we can call COM APIs ↵henrika@chromium.org2012-09-176-28/+39
| | | | | | | | | | | | (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
* Allow StopStream() to be called multiple times.dalecurtis@google.com2012-09-172-1/+11
| | | | | | | | | 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
* Use fallback path on invalid audio parameters.dalecurtis@google.com2012-09-171-18/+44
| | | | | | | | | 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
* mac: Unbreak building with the 10.7 SDKthakis@chromium.org2012-09-151-1/+1
| | | | | | | | | | | 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
* Add Mac OS X unified audio I/O back-endcrogers@google.com2012-09-142-0/+499
| | | | | | | | | | | | | | | 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
* Adds support for 2->1 channel down mixing for WASAPI on Windows.henrika@chromium.org2012-09-142-30/+89
| | | | | | | | | | | 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
* Flip AudioOutputResampler to on by default.dalecurtis@google.com2012-09-142-4/+19
| | | | | | | | | 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
* Bypass audio resampler on XP / non-WASAPI wave out path.dalecurtis@google.com2012-09-146-22/+38
| | | | | | | | | | | | | | 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
* Add UMA statistics to WASAPIAudioOutputStream().dalecurtis@chromium.org2012-09-142-0/+43
| | | | | | | | | | | | | 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
* Add --disable-audio-fallback flag for debugging.dalecurtis@chromium.org2012-09-141-0/+9
| | | | | | | | | | | | | 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
* If cras is used, make only one audio device available: "Automatic".chihchung@chromium.org2012-09-132-2/+38
| | | | | | | | | 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
* Automatically fall back to non-low latency on open() failure.dalecurtis@chromium.org2012-09-123-38/+183
| | | | | | | | | | | | | | | | | | 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
* Remove WASAPI channel count. Too much trouble for now.dalecurtis@google.com2012-09-121-29/+6
| | | | | | | | | | 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