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

Unified Diff: ppapi/api/ppb_audio_config.idl

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
« no previous file with comments | « content/renderer/pepper_plugin_delegate_impl.cc ('k') | ppapi/c/ppb_audio_config.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/api/ppb_audio_config.idl
===================================================================
--- ppapi/api/ppb_audio_config.idl (revision 122585)
+++ ppapi/api/ppb_audio_config.idl (working copy)
@@ -9,7 +9,8 @@
*/
label Chrome {
- M14 = 1.0
+ M14 = 1.0,
+ M18 = 1.1
viettrungluu 2012/02/22 19:17:12 This is wrong, unless you merged it into M18 (whic
};
/**
@@ -51,9 +52,11 @@
interface PPB_AudioConfig {
/**
* CreateStereo16bit() creates a 16 bit audio configuration resource. The
- * <code>sample_frame_count</code> should be the result of calling
- * <code>RecommendSampleFrameCount</code>. If the sample frame count or bit
- * rate isn't supported, this function will fail and return a null resource.
+ * <code>sample_rate</code> should be the result of calling
+ * <code>RecommendSampleRate</code> and <code>sample_frame_count</code> should
+ * be the result of calling <code>RecommendSampleFrameCount</code>. If the
+ * sample frame count or bit rate isn't supported, this function will fail and
+ * return a null resource.
*
* A single sample frame on a stereo device means one value for the left
* channel and one value for the right channel.
@@ -89,11 +92,42 @@
[in] uint32_t sample_frame_count);
/**
+ * This comment block applies to version 1.0, which is deprecated in favor of
+ * the same function but with slightly different signature and behavior.
+ *
* RecommendSampleFrameCount() returns the supported sample frame count
* closest to the requested count. The sample frame count determines the
* overall latency of audio. Since one "frame" is always buffered in advance,
* smaller frame counts will yield lower latency, but higher CPU utilization.
+ * For best audio performance, use the value returned by RecommendSampleRate
+ * as the input sample rate, then use the RecommendSampleFrameCount return
+ * value when creating the audio configuration resource.
*
+ * Sample counts less than
+ * <code>PP_AUDIOMINSAMPLEFRAMECOUNT</code> and greater than
+ * <code>PP_AUDIOMAXSAMPLEFRAMECOUNT</code> are never supported on any
+ * system, but values in between aren't necessarily glitch-free.
+ *
+ * @param[in] sample_rate A <code>PP_AudioSampleRate</code> which is either
+ * <code>PP_AUDIOSAMPLERATE_44100</code> or
+ * <code>PP_AUDIOSAMPLERATE_48000.</code>
+ * @param[in] requested_sample_frame_count A <code>uint_32t</code> requested
+ * frame count.
+ *
+ * @return A <code>uint32_t</code> containing the recommended sample frame
+ * count if successful.
+ */
+ [deprecate=1.1]
+ uint32_t RecommendSampleFrameCount(
+ [in] PP_AudioSampleRate sample_rate,
+ [in] uint32_t requested_sample_frame_count);
+
+ /**
+ * RecommendSampleFrameCount() returns the supported sample frame count
+ * closest to the requested count. The sample frame count determines the
+ * overall latency of audio. Since one "frame" is always buffered in advance,
+ * smaller frame counts will yield lower latency, but higher CPU utilization.
+ *
* Supported sample frame counts will vary by hardware and system (consider
* that the local system might be anywhere from a cell phone or a high-end
* audio workstation). Sample counts less than
@@ -102,6 +136,9 @@
* system, but values in between aren't necessarily valid. This function
* will return a supported count closest to the requested value.
*
+ * RecommendSampleFrameCount() result is intended for audio output devices.
+ *
+ * @param[in] instance
* @param[in] sample_rate A <code>PP_AudioSampleRate</code> which is either
* <code>PP_AUDIOSAMPLERATE_44100</code> or
* <code>PP_AUDIOSAMPLERATE_48000.</code>
@@ -111,7 +148,9 @@
* @return A <code>uint32_t</code> containing the recommended sample frame
* count if successful.
*/
+ [version=1.1]
uint32_t RecommendSampleFrameCount(
+ [in] PP_Instance instance,
[in] PP_AudioSampleRate sample_rate,
[in] uint32_t requested_sample_frame_count);
@@ -155,5 +194,21 @@
*/
uint32_t GetSampleFrameCount(
[in] PP_Resource config);
+
+ /**
+ * RecommendSampleRate() returns the native sample rate that the browser
+ * is using in the backend. Applications that use the recommended sample
+ * rate will have potentially better latency and fidelity. The return value
+ * is indended for audio output devices.
+ *
+ * @param[in] instance
+ *
+ * @return A <code>uint32_t</code> containing the recommended sample frame
+ * count if successful.
+ */
+ [version=1.1]
+ PP_AudioSampleRate RecommendSampleRate(
+ [in] PP_Instance instance);
+
};
« no previous file with comments | « content/renderer/pepper_plugin_delegate_impl.cc ('k') | ppapi/c/ppb_audio_config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698