Pepper_47_C++_interfaces
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
audio.h
Go to the documentation of this file.
1
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef PPAPI_CPP_AUDIO_H_
6
#define PPAPI_CPP_AUDIO_H_
7
8
#include "ppapi/c/pp_stdint.h"
9
#include "ppapi/c/ppb_audio.h"
10
#include "
ppapi/cpp/audio_config.h
"
11
#include "
ppapi/cpp/resource.h
"
12
13
/// @file
14
/// This file defines the API to create realtime stereo audio streaming
15
/// capabilities.
16
17
namespace
pp {
18
19
class
InstanceHandle;
20
21
/// An audio resource. Refer to the
22
/// <a href="/native-client/devguide/coding/audio.html">Audio</a>
23
/// chapter in the Developer's Guide for information on using this interface.
24
class
Audio
:
public
Resource
{
25
public
:
26
27
/// An empty constructor for an Audio resource.
28
Audio
() {}
29
30
/// A constructor that creates an Audio resource. No sound will be heard
31
/// until StartPlayback() is called. The callback is called with the buffer
32
/// address and given user data whenever the buffer needs to be filled.
33
/// From within the callback, you should not call <code>PPB_Audio</code>
34
/// functions. The callback will be called on a different thread than the one
35
/// which created the interface. For performance-critical applications (such
36
/// as low-latency audio), the callback should avoid blocking or calling
37
/// functions that can obtain locks, such as malloc. The layout and the size
38
/// of the buffer passed to the audio callback will be determined by
39
/// the device configuration and is specified in the <code>AudioConfig</code>
40
/// documentation.
41
///
42
/// @param[in] instance The instance with which this resource will be
43
/// associated.
44
/// @param[in] config An <code>AudioConfig</code> containing the audio config
45
/// resource.
46
/// @param[in] callback A <code>PPB_Audio_Callback</code> callback function
47
/// that the browser calls when it needs more samples to play.
48
/// @param[in] user_data A pointer to user data used in the callback function.
49
Audio
(
const
InstanceHandle
& instance,
50
const
AudioConfig
&
config
,
51
PPB_Audio_Callback callback,
52
void
* user_data);
53
54
/// A constructor that creates an Audio resource.
55
///
56
/// @param[in] instance The instance with which this resource will be
57
/// associated.
58
/// @param[in] config An <code>AudioConfig</code> containing the audio config
59
/// resource.
60
/// @param[in] callback A <code>PPB_Audio_Callback_1_0</code> callback
61
/// function that the browser calls when it needs more samples to play.
62
/// @param[in] user_data A pointer to user data used in the callback function.
63
Audio
(
const
InstanceHandle
& instance,
64
const
AudioConfig
&
config
,
65
PPB_Audio_Callback_1_0 callback,
66
void
* user_data);
67
68
/// Getter function for returning the internal <code>PPB_AudioConfig</code>
69
/// struct.
70
///
71
/// @return A mutable reference to the PPB_AudioConfig struct.
72
AudioConfig
&
config
() {
return
config_; }
73
74
/// Getter function for returning the internal <code>PPB_AudioConfig</code>
75
/// struct.
76
///
77
/// @return A const reference to the internal <code>PPB_AudioConfig</code>
78
/// struct.
79
const
AudioConfig
&
config
()
const
{
return
config_; }
80
81
/// StartPlayback() starts playback of audio.
82
///
83
/// @return true if successful, otherwise false.
84
bool
StartPlayback
();
85
86
/// StopPlayback stops playback of audio.
87
///
88
/// @return true if successful, otherwise false.
89
bool
StopPlayback
();
90
91
private
:
92
AudioConfig
config_;
93
bool
use_1_0_interface_;
94
};
95
96
}
// namespace pp
97
98
#endif // PPAPI_CPP_AUDIO_H_
99
pp::Audio::config
AudioConfig & config()
Definition:
audio.h:72
pp::Audio::config
const AudioConfig & config() const
Definition:
audio.h:79
pp::Audio
Definition:
audio.h:24
audio_config.h
pp::Audio::StartPlayback
bool StartPlayback()
Definition:
audio.cc:48
resource.h
pp::InstanceHandle
Definition:
instance_handle.h:44
pp::AudioConfig
Definition:
audio_config.h:57
pp::Audio::StopPlayback
bool StopPlayback()
Definition:
audio.cc:60
pp::Audio::Audio
Audio()
An empty constructor for an Audio resource.
Definition:
audio.h:28
pp::Resource
A reference counted module resource.
Definition:
resource.h:20
Generated on Wed Apr 5 2017 11:09:27 for Pepper_47_C++_interfaces by
1.8.6