Index: ppapi/api/dev/ppb_audio_input_dev.idl |
diff --git a/ppapi/api/dev/ppb_audio_input_dev.idl b/ppapi/api/dev/ppb_audio_input_dev.idl |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ba6b578817c856269cf3a69743960ed4d70d52c0 |
--- /dev/null |
+++ b/ppapi/api/dev/ppb_audio_input_dev.idl |
@@ -0,0 +1,94 @@ |
+/* Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+/** |
+ * This file defines the <code>PPB_AudioInput_Dev</code> interface, which |
+ * provides realtime audio input capture. |
+ */ |
+ |
+label Chrome { |
+ M17 = 0.1 |
+}; |
+ |
+/** |
+ * <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 to the creation thread. |
+ */ |
+typedef void PPB_AudioInput_Callback([out] mem_t sample_buffer, |
+ [in] uint32_t buffer_size_in_bytes, |
+ [inout] mem_t user_data); |
+ |
+/** |
+ * The <code>PPB_AudioInput_Dev</code> interface contains pointers to several |
+ * functions for handling audio input resources. |
+ */ |
+[version=0.1, macro="PPB_AUDIO_INPUT_DEV_INTERFACE"] |
+interface PPB_AudioInput_Dev { |
+ /** |
+ * Create is a pointer to a function that creates an audio input resource. |
+ * No sound will be captured until StartCapture() is called. |
+ */ |
+ PP_Resource Create( |
+ [in] PP_Instance instance, |
+ [in] PP_Resource config, |
+ [in] PPB_AudioInput_Callback audio_input_callback, |
+ [inout] mem_t user_data); |
+ |
+ /** |
+ * IsAudioInput is a pointer to a function that determines if the given |
+ * resource is an audio input resource. |
+ * |
+ * @param[in] resource A PP_Resource containing a resource. |
+ * |
+ * @return A PP_BOOL containing containing PP_TRUE if the given resource is |
+ * an audio input resource, otherwise PP_FALSE. |
+ */ |
+ PP_Bool IsAudioInput( |
+ [in] PP_Resource audio_input); |
+ |
+ /** |
+ * GetCurrrentConfig() returns an audio config resource for the given audio |
+ * resource. |
+ * |
+ * @param[in] config A <code>PP_Resource</code> corresponding to an audio |
+ * resource. |
+ * |
+ * @return A <code>PP_Resource</code> containing the audio config resource if |
+ * successful. |
+ */ |
+ PP_Resource GetCurrentConfig( |
+ [in] PP_Resource audio_input); |
+ |
+ /** |
+ * StartCapture() starts the capture of the audio input resource and begins |
+ * periodically calling the callback. |
+ * |
+ * @param[in] config A <code>PP_Resource</code> corresponding to an audio |
+ * input resource. |
+ * |
+ * @return A <code>PP_Bool</code> containing <code>PP_TRUE</code> if |
+ * successful, otherwise <code>PP_FALSE</code>. Also returns |
+ * <code>PP_TRUE</code> (and be a no-op) if called while callback is already |
+ * in progress. |
+ */ |
+ PP_Bool StartCapture( |
+ [in] PP_Resource audio_input); |
+ |
+ /** |
+ * StopCapture is a pointer to a function that stops the capture of |
+ * the audio input resource. |
+ * |
+ * @param[in] config A PP_Resource containing the audio input resource. |
+ * |
+ * @return A PP_BOOL containing PP_TRUE if successful, otherwise PP_FALSE. |
+ * Also returns PP_TRUE (and is a no-op) if called while capture is already |
+ * stopped. If a buffer is being captured, StopCapture will block until the |
+ * call completes. |
+ */ |
+ PP_Bool StopCapture( |
+ [in] PP_Resource audio_input); |
+}; |
+ |