Pepper_31_C_interfaces
|
#include <ppb_audio_config.h>
Public Attributes | |
PP_Resource(* | CreateStereo16Bit )(PP_Instance instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count) |
uint32_t(* | RecommendSampleFrameCount )(PP_Instance instance, PP_AudioSampleRate sample_rate, uint32_t requested_sample_frame_count) |
PP_Bool(* | IsAudioConfig )(PP_Resource resource) |
PP_AudioSampleRate(* | GetSampleRate )(PP_Resource config) |
uint32_t(* | GetSampleFrameCount )(PP_Resource config) |
PP_AudioSampleRate(* | RecommendSampleRate )(PP_Instance instance) |
The PPB_AudioConfig
interface contains pointers to several functions for establishing your audio configuration within the browser. This interface only supports 16-bit stereo output.
Refer to the Audio chapter in the Developer's Guide for information on using this interface.
Definition at line 73 of file ppb_audio_config.h.
PP_Resource(* PPB_AudioConfig_1_1::CreateStereo16Bit)(PP_Instance instance, PP_AudioSampleRate sample_rate, uint32_t sample_frame_count) |
CreateStereo16bit() creates a 16 bit audio configuration resource. The sample_rate
should be the result of calling RecommendSampleRate
and sample_frame_count
should be the result of calling RecommendSampleFrameCount
. 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.
Buffer layout for a stereo int16 configuration: int16_t *buffer16;
buffer16[0]
is the first left channel sample. buffer16[1]
is the first right channel sample. buffer16[2]
is the second left channel sample. buffer16[3]
is the second right channel sample. ... buffer16[2 * (sample_frame_count - 1)]
is the last left channel sample. buffer16[2 * (sample_frame_count - 1) + 1]
is the last right channel sample. Data will always be in the native endian format of the platform.
[in] | instance | A PP_Instance identifying one instance of a module. |
[in] | sample_rate | A PP_AudioSampleRate which is either PP_AUDIOSAMPLERATE_44100 or PP_AUDIOSAMPLERATE_48000 . |
[in] | sample_frame_count | A uint32_t frame count returned from the RecommendSampleFrameCount function. |
PP_Resource
containing the PPB_Audio_Config
if successful or a null resource if the sample frame count or bit rate are not supported. Definition at line 110 of file ppb_audio_config.h.
uint32_t(* PPB_AudioConfig_1_1::GetSampleFrameCount)(PP_Resource config) |
GetSampleFrameCount() returns the sample frame count for the given PPB_Audio_Config
.
[in] | config | A PP_Resource corresponding to an audio config resource. |
uint32_t
containing sample frame count or 0 if the resource is invalid. Refer to RecommendSampleFrameCount() for more on sample frame counts. Definition at line 177 of file ppb_audio_config.h.
PP_AudioSampleRate(* PPB_AudioConfig_1_1::GetSampleRate)(PP_Resource config) |
GetSampleRate() returns the sample rate for the given PPB_Audio_Config
.
[in] | config | A PP_Resource corresponding to a PPB_Audio_Config . |
PP_AudioSampleRate
containing sample rate or PP_AUDIOSAMPLERATE_NONE
if the resource is invalid. Definition at line 165 of file ppb_audio_config.h.
PP_Bool(* PPB_AudioConfig_1_1::IsAudioConfig)(PP_Resource resource) |
IsAudioConfig() determines if the given resource is a PPB_Audio_Config
.
[in] | resource | A PP_Resource corresponding to an audio config resource. |
PP_Bool
containing PP_TRUE
if the given resource is an AudioConfig
resource, otherwise PP_FALSE
. Definition at line 154 of file ppb_audio_config.h.
uint32_t(* PPB_AudioConfig_1_1::RecommendSampleFrameCount)(PP_Instance instance, PP_AudioSampleRate sample_rate, 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 PP_AUDIOMINSAMPLEFRAMECOUNT
and greater than PP_AUDIOMAXSAMPLEFRAMECOUNT
are never supported on any system, but values in between aren't necessarily valid. This function will return a supported count closest to the requested frame count.
RecommendSampleFrameCount() result is intended for audio output devices.
[in] | instance | |
[in] | sample_rate | A PP_AudioSampleRate which is either PP_AUDIOSAMPLERATE_44100 or PP_AUDIOSAMPLERATE_48000. |
[in] | requested_sample_frame_count | A uint_32t requested frame count. |
uint32_t
containing the recommended sample frame count if successful. Definition at line 139 of file ppb_audio_config.h.
PP_AudioSampleRate(* PPB_AudioConfig_1_1::RecommendSampleRate)(PP_Instance instance) |
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 intended for audio output devices. If the output sample rate cannot be determined, this function can return PP_AUDIOSAMPLERATE_NONE.
[in] | instance |
uint32_t
containing the recommended sample frame count if successful. Definition at line 190 of file ppb_audio_config.h.