Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: ppapi/cpp/audio.h

Issue 9381010: Convert resources to take an instance key instead of an Instance*. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: USELESS PATCH TITLE Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | ppapi/cpp/audio.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PPAPI_CPP_AUDIO_H_ 5 #ifndef PPAPI_CPP_AUDIO_H_
6 #define PPAPI_CPP_AUDIO_H_ 6 #define PPAPI_CPP_AUDIO_H_
7 7
8 #include "ppapi/c/pp_stdint.h" 8 #include "ppapi/c/pp_stdint.h"
9 #include "ppapi/c/ppb_audio.h" 9 #include "ppapi/c/ppb_audio.h"
10 #include "ppapi/cpp/audio_config.h" 10 #include "ppapi/cpp/audio_config.h"
11 #include "ppapi/cpp/instance.h"
12 #include "ppapi/cpp/resource.h" 11 #include "ppapi/cpp/resource.h"
13 12
14 /// @file 13 /// @file
15 /// This file defines the API to create realtime stereo audio streaming 14 /// This file defines the API to create realtime stereo audio streaming
16 /// capabilities. 15 /// capabilities.
17 16
18 namespace pp { 17 namespace pp {
19 18
19 class InstanceHandle;
20
20 /// An audio resource. Refer to the 21 /// An audio resource. Refer to the
21 /// <a href="/native-client/devguide/coding/audio">Audio</a> 22 /// <a href="/native-client/devguide/coding/audio">Audio</a>
22 /// chapter in the Developer's Guide for information on using this interface. 23 /// chapter in the Developer's Guide for information on using this interface.
23 class Audio : public Resource { 24 class Audio : public Resource {
24 public: 25 public:
25 26
26 /// An empty constructor for an Audio resource. 27 /// An empty constructor for an Audio resource.
27 Audio() {} 28 Audio() {}
28 29
29 /// A constructor that creates an Audio resource. No sound will be heard 30 /// A constructor that creates an Audio resource. No sound will be heard
30 /// until StartPlayback() is called. The callback is called with the buffer 31 /// until StartPlayback() is called. The callback is called with the buffer
31 /// address and given user data whenever the buffer needs to be filled. 32 /// address and given user data whenever the buffer needs to be filled.
32 /// From within the callback, you should not call <code>PPB_Audio</code> 33 /// From within the callback, you should not call <code>PPB_Audio</code>
33 /// functions. The callback will be called on a different thread than the one 34 /// functions. The callback will be called on a different thread than the one
34 /// which created the interface. For performance-critical applications (such 35 /// which created the interface. For performance-critical applications (such
35 /// as low-latency audio), the callback should avoid blocking or calling 36 /// as low-latency audio), the callback should avoid blocking or calling
36 /// functions that can obtain locks, such as malloc. The layout and the size 37 /// functions that can obtain locks, such as malloc. The layout and the size
37 /// of the buffer passed to the audio callback will be determined by 38 /// of the buffer passed to the audio callback will be determined by
38 /// the device configuration and is specified in the <code>AudioConfig</code> 39 /// the device configuration and is specified in the <code>AudioConfig</code>
39 /// documentation. 40 /// documentation.
40 /// 41 ///
41 /// @param[in] instance A pointer to an <code>Instance</code> identifying one 42 /// @param[in] instance The instance with which this resource will be
42 /// instance of a module. 43 /// associated.
44 //
43 /// @param[in] config An <code>AudioConfig</code> containing the audio config 45 /// @param[in] config An <code>AudioConfig</code> containing the audio config
44 /// resource. 46 /// resource.
47 //
45 /// @param[in] callback A <code>PPB_Audio_Callback</code> callback function 48 /// @param[in] callback A <code>PPB_Audio_Callback</code> callback function
46 /// that the browser calls when it needs more samples to play. 49 /// that the browser calls when it needs more samples to play.
50 //
47 /// @param[in] user_data A pointer to user data used in the callback function. 51 /// @param[in] user_data A pointer to user data used in the callback function.
48 Audio(Instance* instance, 52 Audio(const InstanceHandle& instance,
49 const AudioConfig& config, 53 const AudioConfig& config,
50 PPB_Audio_Callback callback, 54 PPB_Audio_Callback callback,
51 void* user_data); 55 void* user_data);
52 56
53 /// Getter function for returning the internal <code>PPB_AudioConfig</code> 57 /// Getter function for returning the internal <code>PPB_AudioConfig</code>
54 /// struct. 58 /// struct.
55 /// 59 ///
56 /// @return A mutable reference to the PPB_AudioConfig struct. 60 /// @return A mutable reference to the PPB_AudioConfig struct.
57 AudioConfig& config() { return config_; } 61 AudioConfig& config() { return config_; }
58 62
(...skipping 15 matching lines...) Expand all
74 bool StopPlayback(); 78 bool StopPlayback();
75 79
76 private: 80 private:
77 AudioConfig config_; 81 AudioConfig config_;
78 }; 82 };
79 83
80 } // namespace pp 84 } // namespace pp
81 85
82 #endif // PPAPI_CPP_AUDIO_H_ 86 #endif // PPAPI_CPP_AUDIO_H_
83 87
OLDNEW
« no previous file with comments | « no previous file | ppapi/cpp/audio.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698