Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(275)

Unified Diff: content/renderer/pepper_plugin_delegate_impl.cc

Issue 9129007: Work on improving PpbAudioConfig:RecommendSampleFrameCount (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/pepper_plugin_delegate_impl.cc
===================================================================
--- content/renderer/pepper_plugin_delegate_impl.cc (revision 120806)
+++ content/renderer/pepper_plugin_delegate_impl.cc (working copy)
@@ -34,6 +34,7 @@
#include "content/public/common/content_switches.h"
#include "content/public/renderer/content_renderer_client.h"
#include "content/renderer/gamepad_shared_memory_reader.h"
+#include "content/renderer/media/audio_hardware.h"
#include "content/renderer/media/audio_input_message_filter.h"
#include "content/renderer/media/audio_message_filter.h"
#include "content/renderer/media/pepper_platform_video_decoder_impl.h"
@@ -228,7 +229,12 @@
client_ = client;
AudioParameters params;
- params.format = AudioParameters::AUDIO_PCM_LINEAR;
+ // Use the low latency back end if the client request is compatible.
+ if (sample_rate == audio_hardware::GetOutputSampleRate() &&
+ sample_count % audio_hardware::GetOutputBufferSize() == 0)
+ params.format = AudioParameters::AUDIO_PCM_LOW_LATENCY;
+ else
+ params.format = AudioParameters::AUDIO_PCM_LINEAR;
params.channels = 2;
params.sample_rate = sample_rate;
params.bits_per_sample = 16;
@@ -1261,6 +1267,14 @@
identifier, index + 1, WebKit::WebRect());
}
+uint32_t PepperPluginDelegateImpl::AudioHardwareOutputSampleRate() {
+ return static_cast<uint32_t>(audio_hardware::GetOutputSampleRate());
+}
+
+uint32_t PepperPluginDelegateImpl::AudioHardwareOutputBufferSize() {
+ return static_cast<uint32_t>(audio_hardware::GetOutputBufferSize());
+}
+
webkit::ppapi::PluginDelegate::PlatformAudio*
PepperPluginDelegateImpl::CreateAudio(
uint32_t sample_rate,

Powered by Google App Engine
This is Rietveld 408576698