summaryrefslogtreecommitdiffstats
path: root/ppapi
diff options
context:
space:
mode:
authorxians@chromium.org <xians@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-11 11:41:37 +0000
committerxians@chromium.org <xians@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-11 11:41:37 +0000
commitc2bdcc9b0b8ca209ea558994a8fd8a79c1343381 (patch)
treea8e4cca7cea5c78bd530226a5048d9c3e40b1585 /ppapi
parente483b3be3da5699a384c8e518b2b63e1ee1265cb (diff)
downloadchromium_src-c2bdcc9b0b8ca209ea558994a8fd8a79c1343381.zip
chromium_src-c2bdcc9b0b8ca209ea558994a8fd8a79c1343381.tar.gz
chromium_src-c2bdcc9b0b8ca209ea558994a8fd8a79c1343381.tar.bz2
Extend the sample rates that Pepper should support.
Chrome actually supports a wide range of sample rates for the capture audio. So Pepper should also do this. Also, since getUserMedia soon has APM in chrome, that means Pepper will get post-processed data whose sample rate will be 16000 on Android and 32000 on Desktop. In the future it will be 48000. NOTRY=true BUG=264611 TEST=browser_tests --gtest_filter="*PPAPINaClGLibcTest.*" Review URL: https://codereview.chromium.org/192293007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256206 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi')
-rw-r--r--ppapi/api/ppb_audio_buffer.idl8
-rw-r--r--ppapi/c/ppb_audio_buffer.h10
-rw-r--r--ppapi/tests/test_media_stream_audio_track.cc21
-rw-r--r--ppapi/thunk/ppb_display_color_profile_private_thunk.cc2
4 files changed, 36 insertions, 5 deletions
diff --git a/ppapi/api/ppb_audio_buffer.idl b/ppapi/api/ppb_audio_buffer.idl
index 6d8fa63..1083e0d 100644
--- a/ppapi/api/ppb_audio_buffer.idl
+++ b/ppapi/api/ppb_audio_buffer.idl
@@ -20,7 +20,13 @@ label Chrome {
enum PP_AudioBuffer_SampleRate {
PP_AUDIOBUFFER_SAMPLERATE_UNKNOWN = 0,
PP_AUDIOBUFFER_SAMPLERATE_8000 = 8000,
- PP_AUDIOBUFFER_SAMPLERATE_44100 = 44100
+ PP_AUDIOBUFFER_SAMPLERATE_16000 = 16000,
+ PP_AUDIOBUFFER_SAMPLERATE_22050 = 22050,
+ PP_AUDIOBUFFER_SAMPLERATE_32000 = 32000,
+ PP_AUDIOBUFFER_SAMPLERATE_44100 = 44100,
+ PP_AUDIOBUFFER_SAMPLERATE_48000 = 48000,
+ PP_AUDIOBUFFER_SAMPLERATE_96000 = 96000,
+ PP_AUDIOBUFFER_SAMPLERATE_192000 = 192000
};
/**
diff --git a/ppapi/c/ppb_audio_buffer.h b/ppapi/c/ppb_audio_buffer.h
index a58af2d..6424cba 100644
--- a/ppapi/c/ppb_audio_buffer.h
+++ b/ppapi/c/ppb_audio_buffer.h
@@ -3,7 +3,7 @@
* found in the LICENSE file.
*/
-/* From ppb_audio_buffer.idl modified Thu Feb 6 15:31:48 2014. */
+/* From ppb_audio_buffer.idl modified Mon Mar 10 20:21:25 2014. */
#ifndef PPAPI_C_PPB_AUDIO_BUFFER_H_
#define PPAPI_C_PPB_AUDIO_BUFFER_H_
@@ -32,7 +32,13 @@
typedef enum {
PP_AUDIOBUFFER_SAMPLERATE_UNKNOWN = 0,
PP_AUDIOBUFFER_SAMPLERATE_8000 = 8000,
- PP_AUDIOBUFFER_SAMPLERATE_44100 = 44100
+ PP_AUDIOBUFFER_SAMPLERATE_16000 = 16000,
+ PP_AUDIOBUFFER_SAMPLERATE_22050 = 22050,
+ PP_AUDIOBUFFER_SAMPLERATE_32000 = 32000,
+ PP_AUDIOBUFFER_SAMPLERATE_44100 = 44100,
+ PP_AUDIOBUFFER_SAMPLERATE_48000 = 48000,
+ PP_AUDIOBUFFER_SAMPLERATE_96000 = 96000,
+ PP_AUDIOBUFFER_SAMPLERATE_192000 = 192000
} PP_AudioBuffer_SampleRate;
/**
diff --git a/ppapi/tests/test_media_stream_audio_track.cc b/ppapi/tests/test_media_stream_audio_track.cc
index a1b57ff..e58d4f0 100644
--- a/ppapi/tests/test_media_stream_audio_track.cc
+++ b/ppapi/tests/test_media_stream_audio_track.cc
@@ -34,6 +34,25 @@ const char kJSCode[] =
" navigator.getUserMedia || navigator.webkitGetUserMedia;"
"navigator.getUserMedia(constraints,"
" gotStream, function() {});";
+
+// Helper to check if the |sample_rate| is listed in PP_AudioBuffer_SampleRate
+// enum.
+bool IsSampleRateValid(PP_AudioBuffer_SampleRate sample_rate) {
+ switch (sample_rate) {
+ case PP_AUDIOBUFFER_SAMPLERATE_8000:
+ case PP_AUDIOBUFFER_SAMPLERATE_16000:
+ case PP_AUDIOBUFFER_SAMPLERATE_22050:
+ case PP_AUDIOBUFFER_SAMPLERATE_32000:
+ case PP_AUDIOBUFFER_SAMPLERATE_44100:
+ case PP_AUDIOBUFFER_SAMPLERATE_48000:
+ case PP_AUDIOBUFFER_SAMPLERATE_96000:
+ case PP_AUDIOBUFFER_SAMPLERATE_192000:
+ return true;
+ default:
+ return false;
+ }
+}
+
}
TestMediaStreamAudioTrack::TestMediaStreamAudioTrack(TestingInstance* instance)
@@ -97,7 +116,7 @@ std::string TestMediaStreamAudioTrack::TestGetBuffer() {
ASSERT_EQ(PP_OK, cc.result());
pp::AudioBuffer buffer = cc.output();
ASSERT_FALSE(buffer.is_null());
- ASSERT_EQ(buffer.GetSampleRate(), PP_AUDIOBUFFER_SAMPLERATE_44100);
+ ASSERT_TRUE(IsSampleRateValid(buffer.GetSampleRate()));
ASSERT_EQ(buffer.GetSampleSize(), PP_AUDIOBUFFER_SAMPLESIZE_16_BITS);
ASSERT_GE(buffer.GetTimestamp(), timestamp);
diff --git a/ppapi/thunk/ppb_display_color_profile_private_thunk.cc b/ppapi/thunk/ppb_display_color_profile_private_thunk.cc
index 34b428b..6b14347 100644
--- a/ppapi/thunk/ppb_display_color_profile_private_thunk.cc
+++ b/ppapi/thunk/ppb_display_color_profile_private_thunk.cc
@@ -3,7 +3,7 @@
// found in the LICENSE file.
// From private/ppb_display_color_profile_private.idl,
-// modified Mon Feb 17 15:14:07 2014.
+// modified Tue Feb 18 18:03:36 2014.
#include "ppapi/c/pp_completion_callback.h"
#include "ppapi/c/pp_errors.h"