blob: c75b97b1cca873576df7f7d399b5bfdbf6a65640 [file] [log] [blame]
/* Copyright (c) 2012 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 trusted audio interface.
*/
label Chrome {
M14 = 0.6
};
/**
* This interface is to be used by proxy implementations. All
* functions should be called from the main thread only. The
* resource returned is an Audio resource; most of the PPB_Audio
* interface is also usable on this resource.
*/
[mainthread, macro="PPB_AUDIO_TRUSTED_INTERFACE"]
interface PPB_AudioTrusted {
/** Returns an audio resource. */
PP_Resource CreateTrusted(
[in] PP_Instance instance);
/**
* Opens a paused audio interface, used by trusted side of proxy.
* Returns PP_ERROR_WOULD_BLOCK on success, and invokes
* the |create_callback| asynchronously to complete.
* As this function should always be invoked from the main thread,
* do not use the blocking variant of PP_CompletionCallback.
*/
int32_t Open(
[in] PP_Resource audio,
[in] PP_Resource config,
[in] PP_CompletionCallback create_callback);
/**
* Get the sync socket. Use once Open has completed.
* Returns PP_OK on success.
*/
int32_t GetSyncSocket(
[in] PP_Resource audio,
[out] handle_t sync_socket);
/**
* Get the shared memory interface. Use once Open has completed.
* Returns PP_OK on success.
*/
int32_t GetSharedMemory(
[in] PP_Resource audio,
[out] handle_t shm_handle,
[out] uint32_t shm_size);
};