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

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

Issue 10067035: RefCounted types should not have public destructors, media/ and gpu/ edition (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased 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
« no previous file with comments | « media/filters/audio_renderer_impl.h ('k') | media/filters/audio_renderer_impl_unittest.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 #include "media/filters/audio_renderer_impl.h" 5 #include "media/filters/audio_renderer_impl.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 13 matching lines...) Expand all
24 current_time_(kNoTimestamp()), 24 current_time_(kNoTimestamp()),
25 bytes_per_frame_(0), 25 bytes_per_frame_(0),
26 bytes_per_second_(0), 26 bytes_per_second_(0),
27 stopped_(false), 27 stopped_(false),
28 sink_(sink), 28 sink_(sink),
29 is_initialized_(false), 29 is_initialized_(false),
30 read_cb_(base::Bind(&AudioRendererImpl::DecodedAudioReady, 30 read_cb_(base::Bind(&AudioRendererImpl::DecodedAudioReady,
31 base::Unretained(this))) { 31 base::Unretained(this))) {
32 } 32 }
33 33
34 AudioRendererImpl::~AudioRendererImpl() {
35 // Stop() should have been called and |algorithm_| should have been destroyed.
36 DCHECK(state_ == kUninitialized || state_ == kStopped);
37 DCHECK(!algorithm_.get());
38 }
39
40 void AudioRendererImpl::Play(const base::Closure& callback) { 34 void AudioRendererImpl::Play(const base::Closure& callback) {
41 { 35 {
42 base::AutoLock auto_lock(lock_); 36 base::AutoLock auto_lock(lock_);
43 DCHECK_EQ(kPaused, state_); 37 DCHECK_EQ(kPaused, state_);
44 state_ = kPlaying; 38 state_ = kPlaying;
45 callback.Run(); 39 callback.Run();
46 } 40 }
47 41
48 if (stopped_) 42 if (stopped_)
49 return; 43 return;
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 state_ = kRebuffering; 213 state_ = kRebuffering;
220 } 214 }
221 } 215 }
222 216
223 void AudioRendererImpl::SetVolume(float volume) { 217 void AudioRendererImpl::SetVolume(float volume) {
224 if (stopped_) 218 if (stopped_)
225 return; 219 return;
226 sink_->SetVolume(volume); 220 sink_->SetVolume(volume);
227 } 221 }
228 222
223 AudioRendererImpl::~AudioRendererImpl() {
224 // Stop() should have been called and |algorithm_| should have been destroyed.
225 DCHECK(state_ == kUninitialized || state_ == kStopped);
226 DCHECK(!algorithm_.get());
227 }
228
229 void AudioRendererImpl::DecodedAudioReady(scoped_refptr<Buffer> buffer) { 229 void AudioRendererImpl::DecodedAudioReady(scoped_refptr<Buffer> buffer) {
230 base::AutoLock auto_lock(lock_); 230 base::AutoLock auto_lock(lock_);
231 DCHECK(state_ == kPaused || state_ == kSeeking || state_ == kPlaying || 231 DCHECK(state_ == kPaused || state_ == kSeeking || state_ == kPlaying ||
232 state_ == kUnderflow || state_ == kRebuffering || state_ == kStopped); 232 state_ == kUnderflow || state_ == kRebuffering || state_ == kStopped);
233 233
234 CHECK(pending_read_); 234 CHECK(pending_read_);
235 pending_read_ = false; 235 pending_read_ = false;
236 236
237 if (buffer && buffer->IsEndOfStream()) { 237 if (buffer && buffer->IsEndOfStream()) {
238 received_end_of_stream_ = true; 238 received_end_of_stream_ = true;
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 base::Time::kMicrosecondsPerSecond * bytes / bytes_per_second_); 499 base::Time::kMicrosecondsPerSecond * bytes / bytes_per_second_);
500 } 500 }
501 return base::TimeDelta(); 501 return base::TimeDelta();
502 } 502 }
503 503
504 void AudioRendererImpl::OnRenderError() { 504 void AudioRendererImpl::OnRenderError() {
505 host()->DisableAudioRenderer(); 505 host()->DisableAudioRenderer();
506 } 506 }
507 507
508 } // namespace media 508 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/audio_renderer_impl.h ('k') | media/filters/audio_renderer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698