Ddgreid@chromium.orgaudio_manager_linux: Allow CRAS to decide if sample rate conversion is needed.
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 年前 | |
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 年前 | |
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 年前 | |
Revert 138939 - alsa_output: Drain and pause pcm when stopping. Call snd_pcm_drain when the output's Stop() function is called. This will keep some alsa interfaces from repeating the last samples played until Close() is called. This will also guarantee that all samples are played back if Close() is called immediately following Stop(). BUG=chromium-os:31211 TEST=Manual, play and pause youtube, both FLASH and HTML5 videos using the following alsa plugins as a sink for alsa_output: plug, hw, dmix, pulse, cras, jack. Observe that pauses are clean without repeated samples. Review URL: https://chromiumcodereview.appspot.com/10413075 TBR=dgreid@chromium.org Review URL: https://chromiumcodereview.appspot.com/10533007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140538 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Revert 138939 - alsa_output: Drain and pause pcm when stopping. Call snd_pcm_drain when the output's Stop() function is called. This will keep some alsa interfaces from repeating the last samples played until Close() is called. This will also guarantee that all samples are played back if Close() is called immediately following Stop(). BUG=chromium-os:31211 TEST=Manual, play and pause youtube, both FLASH and HTML5 videos using the following alsa plugins as a sink for alsa_output: plug, hw, dmix, pulse, cras, jack. Observe that pauses are clean without repeated samples. Review URL: https://chromiumcodereview.appspot.com/10413075 TBR=dgreid@chromium.org Review URL: https://chromiumcodereview.appspot.com/10533007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140538 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 年前 | |
Pass through small buffer sizes without FIFO on Linux. 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 | 13 年前 | |
media/audio/linux: Add CrasInputStream. This parallels the CrasOutputStream that was added previously. ChromeOS already talks to CRAS for audio input, through an alsa plug in. Remove that unneeded layer. Only built when use_cras is set. A following patch will pull the CRAS client connection up a level and share one client connection for all input and output streams that are active. BUG=chromium-os:25410 TEST=Newly added cras_input_unittest to media_unittests. Manual test with apprtc and youtube.com/my_webcam. Review URL: https://chromiumcodereview.appspot.com/10592014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146881 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
media/audio/linux: Add CrasInputStream. This parallels the CrasOutputStream that was added previously. ChromeOS already talks to CRAS for audio input, through an alsa plug in. Remove that unneeded layer. Only built when use_cras is set. A following patch will pull the CRAS client connection up a level and share one client connection for all input and output streams that are active. BUG=chromium-os:25410 TEST=Newly added cras_input_unittest to media_unittests. Manual test with apprtc and youtube.com/my_webcam. Review URL: https://chromiumcodereview.appspot.com/10592014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146881 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
media/audio/linux: Add CrasInputStream. This parallels the CrasOutputStream that was added previously. ChromeOS already talks to CRAS for audio input, through an alsa plug in. Remove that unneeded layer. Only built when use_cras is set. A following patch will pull the CRAS client connection up a level and share one client connection for all input and output streams that are active. BUG=chromium-os:25410 TEST=Newly added cras_input_unittest to media_unittests. Manual test with apprtc and youtube.com/my_webcam. Review URL: https://chromiumcodereview.appspot.com/10592014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146881 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
cras_output: Fix calculation of bytes per sample. bytes_per_frame_ is bytes_per_sample * num_channels. When calculating bytes_per_sample from bytes_per_frame, divide by the number of channels, the amount of frames we are rendering is not important here. BUG=chromium-os:34241 TEST=youtube videos make noise on ChromeOS. Review URL: https://chromiumcodereview.appspot.com/10917161 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155786 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 年前 | |
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 年前 |