Chromium Code Reviews| 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); |
| + |
| }; |