/* Copyright 2012 The Chromium Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /* From dev/ppb_audio_input_dev.idl modified Thu Dec 12 15:35:39 2013. */ #ifndef PPAPI_C_DEV_PPB_AUDIO_INPUT_DEV_H_ #define PPAPI_C_DEV_PPB_AUDIO_INPUT_DEV_H_ #include "ppapi/c/dev/ppb_device_ref_dev.h" #include "ppapi/c/pp_array_output.h" #include "ppapi/c/pp_bool.h" #include "ppapi/c/pp_completion_callback.h" #include "ppapi/c/pp_instance.h" #include "ppapi/c/pp_macros.h" #include "ppapi/c/pp_resource.h" #include "ppapi/c/pp_stdint.h" #include "ppapi/c/pp_time.h" #define PPB_AUDIO_INPUT_DEV_INTERFACE_0_3 … #define PPB_AUDIO_INPUT_DEV_INTERFACE_0_4 … #define PPB_AUDIO_INPUT_DEV_INTERFACE … /** * @file * This file defines the <code>PPB_AudioInput_Dev</code> interface, which * provides realtime audio input capture. */ /** * @addtogroup Typedefs * @{ */ /** * <code>PPB_AudioInput_Callback</code> defines the type of an audio callback * function used to provide the audio buffer with data. This callback will be * called on a separate thread from the creation thread. * * @param[in] sample_buffer A buffer providing audio input data. * @param[in] buffer_size_in_bytes The size of the buffer in bytes. * @param[in] latency The time that has elapsed since the data was recorded. * @param[inout] user_data An opaque pointer that was passed into * <code>PPB_AudioInput_Dev.Open()</code>. */ PPB_AudioInput_Callback; PPB_AudioInput_Callback_0_3; /** * @} */ /** * @addtogroup Interfaces * @{ */ /** * The <code>PPB_AudioInput_Dev</code> interface contains pointers to several * functions for handling audio input resources. * * TODO(brettw) before moving out of dev, we need to resolve the issue of * the mismatch between the current audio config interface and this one. * * In particular, the params for input assume stereo, but this class takes * everything as mono. We either need to not use an audio config resource, or * add mono support. * * In addition, RecommendSampleFrameCount is completely wrong for audio input. * RecommendSampleFrameCount returns the frame count for the current * low-latency output device, which is likely inappropriate for a random input * device. We may want to move the "recommend" functions to the input or output * classes rather than the config. */ struct PPB_AudioInput_Dev_0_4 { … }; PPB_AudioInput_Dev; struct PPB_AudioInput_Dev_0_3 { … }; /** * @} */ #endif /* PPAPI_C_DEV_PPB_AUDIO_INPUT_DEV_H_ */