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

Side by Side Diff: media/filters/audio_renderer_impl.h

Issue 10389138: Remove media::AudioRendererImpl::SignalEndOfStream() and some other minor cleanup. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src
Patch Set: fixes Created 8 years, 7 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
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 // Audio rendering unit utilizing an AudioRendererSink to output data. 5 // Audio rendering unit utilizing an AudioRendererSink to output data.
6 // 6 //
7 // This class lives inside three threads during it's lifetime, namely: 7 // This class lives inside three threads during it's lifetime, namely:
8 // 1. Render thread. 8 // 1. Render thread.
9 // This object is created on the render thread. 9 // This object is created on the render thread.
10 // 2. Pipeline thread 10 // 2. Pipeline thread
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 // enough. In such scenarios, the callee should zero out unused portions 76 // enough. In such scenarios, the callee should zero out unused portions
77 // of their buffer to playback silence. 77 // of their buffer to playback silence.
78 // 78 //
79 // FillBuffer() updates the pipeline's playback timestamp. If FillBuffer() is 79 // FillBuffer() updates the pipeline's playback timestamp. If FillBuffer() is
80 // not called at the same rate as audio samples are played, then the reported 80 // not called at the same rate as audio samples are played, then the reported
81 // timestamp in the pipeline will be ahead of the actual audio playback. In 81 // timestamp in the pipeline will be ahead of the actual audio playback. In
82 // this case |playback_delay| should be used to indicate when in the future 82 // this case |playback_delay| should be used to indicate when in the future
83 // should the filled buffer be played. If FillBuffer() is called as the audio 83 // should the filled buffer be played. If FillBuffer() is called as the audio
84 // hardware plays the buffer, then |playback_delay| should be zero. 84 // hardware plays the buffer, then |playback_delay| should be zero.
85 // 85 //
86 // FillBuffer() calls SignalEndOfStream() when it reaches end of stream.
87 //
88 // Safe to call on any thread. 86 // Safe to call on any thread.
89 uint32 FillBuffer(uint8* dest, 87 uint32 FillBuffer(uint8* dest,
90 uint32 requested_frames, 88 uint32 requested_frames,
91 const base::TimeDelta& playback_delay); 89 const base::TimeDelta& playback_delay);
92 90
93 // Called at the end of stream when all the hardware buffers become empty
94 // (i.e. when all the data written to the device has been played).
95 void SignalEndOfStream();
96
97 // Get the playback rate of |algorithm_|. 91 // Get the playback rate of |algorithm_|.
98 float GetPlaybackRate(); 92 float GetPlaybackRate();
99 93
100 // Convert number of bytes to duration of time using information about the 94 // Convert number of bytes to duration of time using information about the
101 // number of channels, sample rate and sample bits. 95 // number of channels, sample rate and sample bits.
102 base::TimeDelta ConvertToDuration(int bytes); 96 base::TimeDelta ConvertToDuration(int bytes);
103 97
104 // Estimate earliest time when current buffer can stop playing. 98 // Estimate earliest time when current buffer can stop playing.
105 void UpdateEarliestEndTime(int bytes_filled, 99 void UpdateEarliestEndTime(int bytes_filled,
106 base::TimeDelta request_delay, 100 base::TimeDelta request_delay,
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 AudioParameters audio_parameters_; 197 AudioParameters audio_parameters_;
204 198
205 AudioDecoder::ReadCB read_cb_; 199 AudioDecoder::ReadCB read_cb_;
206 200
207 DISALLOW_COPY_AND_ASSIGN(AudioRendererImpl); 201 DISALLOW_COPY_AND_ASSIGN(AudioRendererImpl);
208 }; 202 };
209 203
210 } // namespace media 204 } // namespace media
211 205
212 #endif // MEDIA_FILTERS_AUDIO_RENDERER_IMPL_H_ 206 #endif // MEDIA_FILTERS_AUDIO_RENDERER_IMPL_H_
OLDNEW
« no previous file with comments | « no previous file | media/filters/audio_renderer_impl.cc » ('j') | media/filters/audio_renderer_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698