Ddgreid@chromium.orgaudio_manager_linux: Allow CRAS to decide if sample rate conversion is needed.
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Switch OnMoreData() to use AudioBus. As titled, with this change we're now piping float data around the pipeline from end to end. This change is in preparation for browser side channel remixing and resampling. As a consequence of this change the shared memory now represents the contents of an AudioBus object, which is essentially audio data in a float planar format. BUG=114700 TEST=Should be no audible change. Ran all existing tests. Compiled ran WebAudio/HTML5/WebRTC on all platforms and PPAPI on Linux. Review URL: https://chromiumcodereview.appspot.com/10832285 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154951 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Create iOS Audio Manager implementation. The iOS audio manager supports audio input only (for voice search). This CL also makes slight changes to audio_input_mac to make it usable on iOS. BUG=None Review URL: https://chromiumcodereview.appspot.com/10907110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155416 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
audio_manager_linux: Allow CRAS to decide if sample rate conversion is needed. 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 | 13 年前 | |
AudioHardwareUnifiedStream::Stop() must not clear |source_| before calling 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 | 13 年前 | |
Dead code elimination: scythe.chrome_functions:segment.path %media% edition, round 2. Review URL: https://chromiumcodereview.appspot.com/10826174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150302 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Switch OnMoreData() to use AudioBus. As titled, with this change we're now piping float data around the pipeline from end to end. This change is in preparation for browser side channel remixing and resampling. As a consequence of this change the shared memory now represents the contents of an AudioBus object, which is essentially audio data in a float planar format. BUG=114700 TEST=Should be no audible change. Ran all existing tests. Compiled ran WebAudio/HTML5/WebRTC on all platforms and PPAPI on Linux. Review URL: https://chromiumcodereview.appspot.com/10832285 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154951 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Trivial EOL fix (removed Windows CR-LF). 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 | 13 年前 | |
Adding tommi@chromium.org to media-related OWNERS files. TBR=tommi Review URL: https://chromiumcodereview.appspot.com/9160021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118776 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Move the callback out of the Read method and into Initialize to make Read loops simpler. TEST=Run media_unittests --gtest_filter=*AsyncSocketIoHandlerTest* Review URL: https://chromiumcodereview.appspot.com/10697069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145453 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move the callback out of the Read method and into Initialize to make Read loops simpler. TEST=Run media_unittests --gtest_filter=*AsyncSocketIoHandlerTest* Review URL: https://chromiumcodereview.appspot.com/10697069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145453 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move the callback out of the Read method and into Initialize to make Read loops simpler. TEST=Run media_unittests --gtest_filter=*AsyncSocketIoHandlerTest* Review URL: https://chromiumcodereview.appspot.com/10697069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145453 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move the callback out of the Read method and into Initialize to make Read loops simpler. TEST=Run media_unittests --gtest_filter=*AsyncSocketIoHandlerTest* Review URL: https://chromiumcodereview.appspot.com/10697069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145453 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Reland the CL 8162015. CL 8162015 failed the trybot and was reverted. But I could not reproduce the issue in my local machine, so I just make a new CL and test it on trybot again. BUG= TEST= Review URL: http://codereview.chromium.org/8361031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107842 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Reland the CL 8162015. CL 8162015 failed the trybot and was reverted. But I could not reproduce the issue in my local machine, so I just make a new CL and test it on trybot again. BUG= TEST= Review URL: http://codereview.chromium.org/8361031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107842 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Make initial reset period configurable for audio input no data timer. iOS needs extra initial delay in the reset timer to avoid getting killed because there is a background music fading out. BUG=b/6754065 Review URL: https://chromiumcodereview.appspot.com/10911067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155082 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Make initial reset period configurable for audio input no data timer. iOS needs extra initial delay in the reset timer to avoid getting killed because there is a background music fading out. BUG=b/6754065 Review URL: https://chromiumcodereview.appspot.com/10911067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155082 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove a bunch of dead fields found by Scythe. Review URL: https://chromiumcodereview.appspot.com/10825108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149251 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Switch AudioRenderSink::Callback to use AudioBus. As titled, switches everything over to using the AudioBus class instead of const std::vector<float*>. Allows removal of lots of crufty allocations and memsets. BUG=114700 TEST=unit tests, layout tests, try bots. Nothing should change. Review URL: https://chromiumcodereview.appspot.com/10823175 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150906 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
First step towards moving AudioDevice and AudioInputDevice from content/ to media/audio. This cl introduces new IPC interface files in media/audio that have the definitions of an IPC layer for AudioDevice and AudioInputDevice. AudioMessageFilter, AudionInputMessageFilter and others have been updated to use definitions from these file but in order to keep the diffs simple, I haven't actually moved the files over to media/audio. That will be the next step (and then no code changes should be needed). TEST=There should be no functional changes here. If there are problems, they should be caught by our existing unit tests or build errors. Review URL: https://chromiumcodereview.appspot.com/10790121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148533 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
First step towards moving AudioDevice and AudioInputDevice from content/ to media/audio. This cl introduces new IPC interface files in media/audio that have the definitions of an IPC layer for AudioDevice and AudioInputDevice. AudioMessageFilter, AudionInputMessageFilter and others have been updated to use definitions from these file but in order to keep the diffs simple, I haven't actually moved the files over to media/audio. That will be the next step (and then no code changes should be needed). TEST=There should be no functional changes here. If there are problems, they should be caught by our existing unit tests or build errors. Review URL: https://chromiumcodereview.appspot.com/10790121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148533 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Dead code elimination: scythe.chrome_functions:segment.path %media% edition, round 1. Internal-only site: http://go/videostack/engineering/dead-code-elimination Review URL: https://chromiumcodereview.appspot.com/10837118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150129 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Dead code elimination: scythe.chrome_functions:segment.path %media% edition, round 2. Review URL: https://chromiumcodereview.appspot.com/10826174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150302 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Adds COM init to AudioManager thread to ensure that we can call COM APIs (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 | 13 年前 | |
Adds COM init to AudioManager thread to ensure that we can call COM APIs (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 | 13 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Prevent AudioDeviceThread from starting if clients have called Stop() (round 2). 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 | 13 年前 | |
Prevent AudioDeviceThread from starting if clients have called Stop() (round 2). 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 | 13 年前 | |
Prevent AudioDeviceThread from starting if clients have called Stop() (round 2). 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 | 13 年前 | |
Re-land software audio mixer. Code goes through old or new paths depending on the AudioParameters or command-line flag. Added unit tests. Changed suppression for http://code.google.com/p/chromium/issues/detail?id=123112 because call stack changed (class was split into 2). Review URL: http://codereview.chromium.org/9691001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133010 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
RefCounted types should not have public destructors, media/ and gpu/ edition BUG=123295 TEST=none Review URL: https://chromiumcodereview.appspot.com/10067035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137966 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Don't fallback if we've successfully opened a stream previously. 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 | 13 年前 | |
Don't fallback if we've successfully opened a stream previously. 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 | 13 年前 | |
First step towards moving AudioDevice and AudioInputDevice from content/ to media/audio. This cl introduces new IPC interface files in media/audio that have the definitions of an IPC layer for AudioDevice and AudioInputDevice. AudioMessageFilter, AudionInputMessageFilter and others have been updated to use definitions from these file but in order to keep the diffs simple, I haven't actually moved the files over to media/audio. That will be the next step (and then no code changes should be needed). TEST=There should be no functional changes here. If there are problems, they should be caught by our existing unit tests or build errors. Review URL: https://chromiumcodereview.appspot.com/10790121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148533 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Revert 142862 - Change the way we are stopping audio stream on Mac once again. r142235 was not enough, we were not touching audio buffers after stop, but OS could still touch audio queue. That causes problems if we were deleting audio stream immediately after stopping, e.g. if audio mixer tried to keep audio stream opened after last logical stream stopped and then stopped/closed it. I was able to reproduce the problem locally (for whatever reason this time it worked), and after the fix it (finally) went away -- browsert_tests PPAPITest.Audio_Creation successfully runs for 300 iterations. When I revert to previos way of signaling, problem resurfaces again. Fix is to use "property listener" to listen to "is running" audio queue property, and signal "stream stopped" event only after "is running" property changes to false. Functions that do are documented in the Apple core audio documentation but not used in samples, so they are hard to find if you don't know what to look for. Also re-enabling mixer change to keep physical stream opened for some time, That should complete browser-side mixer work and fix several related bugs. BUG=102395 BUG=114701 BUG=129190 BUG=131720 TEST=No observable diffs, but crashes and seek problems should go away. Review URL: https://chromiumcodereview.appspot.com/10560038 TBR=enal@chromium.org Review URL: https://chromiumcodereview.appspot.com/10583009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142886 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Change the way audio mixer gets "pending bytes" (amount of data currently buffered but not yet played). Underlying code expects per-logical-stream pending bytes, while all mixer gets when called for more data is pending bytes per combined stream. Fix is to keep track of * amount of data in every buffer * buffers for every logical stream and manually calculate per-logical-stream pending bytes. That is last CL in initial audio mixer implementation, after it go through mixer should be ready for full testing. Review URL: http://codereview.chromium.org/10154007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134675 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Don't fallback if we've successfully opened a stream previously. 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 | 13 年前 | |
Don't fallback if we've successfully opened a stream previously. 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 | 13 年前 | |
Don't fallback if we've successfully opened a stream previously. 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 | 13 年前 | |
Don't fallback if we've successfully opened a stream previously. 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 | 13 年前 | |
Don't fallback if we've successfully opened a stream previously. 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 | 13 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Remove a bunch of dead fields found by Scythe. Review URL: https://chromiumcodereview.appspot.com/10825108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149251 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Return fixed hardware buffer size for odd sample rates. 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 | 13 年前 | |
Convert WebAudio file handlers to use AudioBus. Lets us remove AudioUtil::DeinterleaveAudioChannel(). Modifies AudioBus to add a new FromInterleavedPartial() function which allows for streaming deinterleave. Also adds supporting method: ZeroFramesPartial(). BUG=114700, 120319 TEST=unittests + WebAudio test page. Review URL: https://chromiumcodereview.appspot.com/10871051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154099 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add software audio mixing to the audio utils. BUG=114701 Review URL: http://codereview.chromium.org/9641026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127709 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Add a CrossProcessNotification class. This class will be used to synchronize multiple audio objects with minimal thread and IPC socket usage. TEST=Several tests included. Run media unittests. BUG=114699 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=129263 Review URL: https://chromiumcodereview.appspot.com/9605015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129405 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Add a CrossProcessNotification class. This class will be used to synchronize multiple audio objects with minimal thread and IPC socket usage. TEST=Several tests included. Run media unittests. BUG=114699 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=129263 Review URL: https://chromiumcodereview.appspot.com/9605015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129405 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Add a CrossProcessNotification class. This class will be used to synchronize multiple audio objects with minimal thread and IPC socket usage. TEST=Several tests included. Run media unittests. BUG=114699 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=129263 Review URL: https://chromiumcodereview.appspot.com/9605015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129405 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Remove a bunch of dead fields found by Scythe. Review URL: https://chromiumcodereview.appspot.com/10825108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149251 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add a CrossProcessNotification class. This class will be used to synchronize multiple audio objects with minimal thread and IPC socket usage. TEST=Several tests included. Run media unittests. BUG=114699 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=129263 Review URL: https://chromiumcodereview.appspot.com/9605015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129405 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Move media/audio files into media namespace (relanding) BUG=115187 TEST=compiles and runs without breaking audio tag; media_unittests, content_unittests TBR=scherkus,jam Review URL: https://chromiumcodereview.appspot.com/9968054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130288 0039d316-1c4b-4281-b951-d872f2087c98 | 14 年前 | |
Switch OnMoreData() to use AudioBus. As titled, with this change we're now piping float data around the pipeline from end to end. This change is in preparation for browser side channel remixing and resampling. As a consequence of this change the shared memory now represents the contents of an AudioBus object, which is essentially audio data in a float planar format. BUG=114700 TEST=Should be no audible change. Ran all existing tests. Compiled ran WebAudio/HTML5/WebRTC on all platforms and PPAPI on Linux. Review URL: https://chromiumcodereview.appspot.com/10832285 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154951 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Switch OnMoreData() to use AudioBus. As titled, with this change we're now piping float data around the pipeline from end to end. This change is in preparation for browser side channel remixing and resampling. As a consequence of this change the shared memory now represents the contents of an AudioBus object, which is essentially audio data in a float planar format. BUG=114700 TEST=Should be no audible change. Ran all existing tests. Compiled ran WebAudio/HTML5/WebRTC on all platforms and PPAPI on Linux. Review URL: https://chromiumcodereview.appspot.com/10832285 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154951 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Dead code elimination: scythe.chrome_functions:segment.path %media% edition, round 2. Review URL: https://chromiumcodereview.appspot.com/10826174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150302 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Dead code elimination: scythe.chrome_functions:segment.path %media% edition, round 2. Review URL: https://chromiumcodereview.appspot.com/10826174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150302 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Switch AudioRenderSink::Callback to use AudioBus. As titled, switches everything over to using the AudioBus class instead of const std::vector<float*>. Allows removal of lots of crufty allocations and memsets. BUG=114700 TEST=unit tests, layout tests, try bots. Nothing should change. Review URL: https://chromiumcodereview.appspot.com/10823175 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150906 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Switch AudioRenderSink::Callback to use AudioBus. As titled, switches everything over to using the AudioBus class instead of const std::vector<float*>. Allows removal of lots of crufty allocations and memsets. BUG=114700 TEST=unit tests, layout tests, try bots. Nothing should change. Review URL: https://chromiumcodereview.appspot.com/10823175 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150906 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add UMA reporting for audio hardware parameters. Records bits per channel, channel layout, and sample rate. BUG=147572 TEST=build/run Review URL: https://chromiumcodereview.appspot.com/10914203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156296 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Add UMA reporting for audio hardware parameters. Records bits per channel, channel layout, and sample rate. BUG=147572 TEST=build/run Review URL: https://chromiumcodereview.appspot.com/10914203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156296 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move AudioDevice and AudioInputDevice to media. This CL does the following: * Move AudioDevice, AudioInputDevice out of content, into media/audio. * ...and a couple of dependent classes: AudioDeviceThread and ScopedLoopObserver. * ...and the unit test. * Renamed AudioDevice -> AudioOutputDevice * Moved the classes into the media namespace. * Updated the unit test code as necessary. Aside from the unit test*, there are minimal code changes. Only what was required to make things build and work as before - mostly just adding or removing "media::". * The unit test changes were to add expectations for AddDelegate/RemoveDelegate since previously a mock class was inheriting from AudioMessageFilter and not the IPC interface. Review URL: https://chromiumcodereview.appspot.com/10834033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148777 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Move AudioDevice and AudioInputDevice to media. This CL does the following: * Move AudioDevice, AudioInputDevice out of content, into media/audio. * ...and a couple of dependent classes: AudioDeviceThread and ScopedLoopObserver. * ...and the unit test. * Renamed AudioDevice -> AudioOutputDevice * Moved the classes into the media namespace. * Updated the unit test code as necessary. Aside from the unit test*, there are minimal code changes. Only what was required to make things build and work as before - mostly just adding or removing "media::". * The unit test changes were to add expectations for AddDelegate/RemoveDelegate since previously a mock class was inheriting from AudioMessageFilter and not the IPC interface. Review URL: https://chromiumcodereview.appspot.com/10834033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148777 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Rename shared memory method parameters for consistency. Brings internal consistency to the shared memory support methods since it doesn't look like we'll be able to get rid of them anytime soon. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10873071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154033 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Rename shared memory method parameters for consistency. Brings internal consistency to the shared memory support methods since it doesn't look like we'll be able to get rid of them anytime soon. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10873071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154033 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Allow audio system to handle synchronized low-latency audio I/O As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Switch OnMoreData() to use AudioBus. As titled, with this change we're now piping float data around the pipeline from end to end. This change is in preparation for browser side channel remixing and resampling. As a consequence of this change the shared memory now represents the contents of an AudioBus object, which is essentially audio data in a float planar format. BUG=114700 TEST=Should be no audible change. Ran all existing tests. Compiled ran WebAudio/HTML5/WebRTC on all platforms and PPAPI on Linux. Review URL: https://chromiumcodereview.appspot.com/10832285 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154951 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Small refactor to media architecture in order to allow end-to-end tests. - Introduced the class MockAudioManager that will be used by upcoming speech recognition tests. - Added interface TestAudioInputController::Delegate, which allows to intercept Record/Close events. - Added audio_manager_for_tests_ static field in SpeechRecognizer to inject the MockAudioManager during tests. BUG=116954 TEST=none Review URL: https://chromiumcodereview.appspot.com/10704154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146316 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Dead code elimination: scythe.chrome_functions:segment.path %media% edition, round 2. Review URL: https://chromiumcodereview.appspot.com/10826174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150302 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 |