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

Side by Side Diff: third_party/WebKit/Source/modules/webaudio/AudioScheduledSourceNode.h

Issue 2389253002: reflow comments in modules/{webaudio,vr} (Closed)
Patch Set: . Created 4 years, 2 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 28 matching lines...) Expand all
39 39
40 class AudioScheduledSourceHandler : public AudioHandler { 40 class AudioScheduledSourceHandler : public AudioHandler {
41 public: 41 public:
42 // These are the possible states an AudioScheduledSourceNode can be in: 42 // These are the possible states an AudioScheduledSourceNode can be in:
43 // 43 //
44 // UNSCHEDULED_STATE - Initial playback state. Created, but not yet scheduled. 44 // UNSCHEDULED_STATE - Initial playback state. Created, but not yet scheduled.
45 // SCHEDULED_STATE - Scheduled to play (via start()), but not yet playing. 45 // SCHEDULED_STATE - Scheduled to play (via start()), but not yet playing.
46 // PLAYING_STATE - Generating sound. 46 // PLAYING_STATE - Generating sound.
47 // FINISHED_STATE - Finished generating sound. 47 // FINISHED_STATE - Finished generating sound.
48 // 48 //
49 // The state can only transition to the next state, except for the FINISHED_ST ATE which can 49 // The state can only transition to the next state, except for the
50 // never be changed. 50 // FINISHED_STATE which can never be changed.
51 enum PlaybackState { 51 enum PlaybackState {
52 // These must be defined with the same names and values as in the .idl file. 52 // These must be defined with the same names and values as in the .idl file.
53 UNSCHEDULED_STATE = 0, 53 UNSCHEDULED_STATE = 0,
54 SCHEDULED_STATE = 1, 54 SCHEDULED_STATE = 1,
55 PLAYING_STATE = 2, 55 PLAYING_STATE = 2,
56 FINISHED_STATE = 3 56 FINISHED_STATE = 3
57 }; 57 };
58 58
59 AudioScheduledSourceHandler(NodeType, AudioNode&, float sampleRate); 59 AudioScheduledSourceHandler(NodeType, AudioNode&, float sampleRate);
60 60
(...skipping 12 matching lines...) Expand all
73 bool isPlayingOrScheduled() const { 73 bool isPlayingOrScheduled() const {
74 PlaybackState state = playbackState(); 74 PlaybackState state = playbackState();
75 return state == PLAYING_STATE || state == SCHEDULED_STATE; 75 return state == PLAYING_STATE || state == SCHEDULED_STATE;
76 } 76 }
77 77
78 bool hasFinished() const { return playbackState() == FINISHED_STATE; } 78 bool hasFinished() const { return playbackState() == FINISHED_STATE; }
79 79
80 protected: 80 protected:
81 // Get frame information for the current time quantum. 81 // Get frame information for the current time quantum.
82 // We handle the transition into PLAYING_STATE and FINISHED_STATE here, 82 // We handle the transition into PLAYING_STATE and FINISHED_STATE here,
83 // zeroing out portions of the outputBus which are outside the range of startF rame and endFrame. 83 // zeroing out portions of the outputBus which are outside the range of
84 // startFrame and endFrame.
84 // 85 //
85 // Each frame time is relative to the context's currentSampleFrame(). 86 // Each frame time is relative to the context's currentSampleFrame().
86 // quantumFrameOffset : Offset frame in this time quantum to start renderin g. 87 // quantumFrameOffset : Offset frame in this time quantum to start
87 // nonSilentFramesToProcess : Number of frames rendering non-silence (will be <= quantumFrameSize). 88 // rendering.
89 // nonSilentFramesToProcess : Number of frames rendering non-silence (will be
90 // <= quantumFrameSize).
88 void updateSchedulingInfo(size_t quantumFrameSize, 91 void updateSchedulingInfo(size_t quantumFrameSize,
89 AudioBus* outputBus, 92 AudioBus* outputBus,
90 size_t& quantumFrameOffset, 93 size_t& quantumFrameOffset,
91 size_t& nonSilentFramesToProcess); 94 size_t& nonSilentFramesToProcess);
92 95
93 // Called when we have no more sound to play or the stop() time has been reach ed. No onEnded 96 // Called when we have no more sound to play or the stop() time has been
94 // event is called. 97 // reached. No onEnded event is called.
95 virtual void finishWithoutOnEnded(); 98 virtual void finishWithoutOnEnded();
96 99
97 // Like finishWithoutOnEnded(), but an onEnded (if specified) is called. 100 // Like finishWithoutOnEnded(), but an onEnded (if specified) is called.
98 virtual void finish(); 101 virtual void finish();
99 102
100 void notifyEnded(); 103 void notifyEnded();
101 104
102 // This synchronizes with process() and any other method that needs to be sync hronized like 105 // This synchronizes with process() and any other method that needs to be
103 // setBuffer for AudioBufferSource. 106 // synchronized like setBuffer for AudioBufferSource.
104 mutable Mutex m_processLock; 107 mutable Mutex m_processLock;
105 108
106 // m_startTime is the time to start playing based on the context's timeline (0 or a time less than the context's current time means "now"). 109 // m_startTime is the time to start playing based on the context's timeline (0
110 // or a time less than the context's current time means "now").
107 double m_startTime; // in seconds 111 double m_startTime; // in seconds
108 112
109 // m_endTime is the time to stop playing based on the context's timeline (0 or a time less than the context's current time means "now"). 113 // m_endTime is the time to stop playing based on the context's timeline (0 or
110 // If it hasn't been set explicitly, then the sound will not stop playing (if looping) or will stop when the end of the AudioBuffer 114 // a time less than the context's current time means "now"). If it hasn't
111 // has been reached. 115 // been set explicitly, then the sound will not stop playing (if looping) or
116 // will stop when the end of the AudioBuffer has been reached.
112 double m_endTime; // in seconds 117 double m_endTime; // in seconds
113 118
114 static const double UnknownTime; 119 static const double UnknownTime;
115 120
116 private: 121 private:
117 // This is accessed by both the main thread and audio thread. Use the setter and getter to 122 // This is accessed by both the main thread and audio thread. Use the setter
118 // protect the access to this! 123 // and getter to protect the access to this.
119 int m_playbackState; 124 int m_playbackState;
120 }; 125 };
121 126
122 class AudioScheduledSourceNode : public AudioSourceNode, 127 class AudioScheduledSourceNode : public AudioSourceNode,
123 public ActiveScriptWrappable { 128 public ActiveScriptWrappable {
124 USING_GARBAGE_COLLECTED_MIXIN(AudioScheduledSourceNode); 129 USING_GARBAGE_COLLECTED_MIXIN(AudioScheduledSourceNode);
125 130
126 public: 131 public:
127 void start(ExceptionState&); 132 void start(ExceptionState&);
128 void start(double when, ExceptionState&); 133 void start(double when, ExceptionState&);
129 void stop(ExceptionState&); 134 void stop(ExceptionState&);
130 void stop(double when, ExceptionState&); 135 void stop(double when, ExceptionState&);
131 136
132 EventListener* onended(); 137 EventListener* onended();
133 void setOnended(EventListener*); 138 void setOnended(EventListener*);
134 139
135 // ScriptWrappable: 140 // ScriptWrappable:
136 bool hasPendingActivity() const final; 141 bool hasPendingActivity() const final;
137 142
138 DEFINE_INLINE_VIRTUAL_TRACE() { AudioSourceNode::trace(visitor); } 143 DEFINE_INLINE_VIRTUAL_TRACE() { AudioSourceNode::trace(visitor); }
139 144
140 protected: 145 protected:
141 explicit AudioScheduledSourceNode(BaseAudioContext&); 146 explicit AudioScheduledSourceNode(BaseAudioContext&);
142 AudioScheduledSourceHandler& audioScheduledSourceHandler() const; 147 AudioScheduledSourceHandler& audioScheduledSourceHandler() const;
143 }; 148 };
144 149
145 } // namespace blink 150 } // namespace blink
146 151
147 #endif // AudioScheduledSourceNode_h 152 #endif // AudioScheduledSourceNode_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698