| Index: media/audio/audio_output_proxy.cc
|
| ===================================================================
|
| --- media/audio/audio_output_proxy.cc (revision 132979)
|
| +++ media/audio/audio_output_proxy.cc (working copy)
|
| @@ -14,21 +14,19 @@
|
| AudioOutputProxy::AudioOutputProxy(AudioOutputDispatcher* dispatcher)
|
| : dispatcher_(dispatcher),
|
| state_(kCreated),
|
| - physical_stream_(NULL),
|
| volume_(1.0) {
|
| }
|
|
|
| AudioOutputProxy::~AudioOutputProxy() {
|
| DCHECK(CalledOnValidThread());
|
| DCHECK(state_ == kCreated || state_ == kClosed);
|
| - DCHECK(!physical_stream_);
|
| }
|
|
|
| bool AudioOutputProxy::Open() {
|
| DCHECK(CalledOnValidThread());
|
| DCHECK_EQ(state_, kCreated);
|
|
|
| - if (!dispatcher_->StreamOpened()) {
|
| + if (!dispatcher_->OpenStream()) {
|
| state_ = kError;
|
| return false;
|
| }
|
| @@ -39,18 +37,13 @@
|
|
|
| void AudioOutputProxy::Start(AudioSourceCallback* callback) {
|
| DCHECK(CalledOnValidThread());
|
| - DCHECK(physical_stream_ == NULL);
|
| DCHECK_EQ(state_, kOpened);
|
|
|
| - physical_stream_= dispatcher_->StreamStarted();
|
| - if (!physical_stream_) {
|
| + if (!dispatcher_->StartStream(callback, this)) {
|
| state_ = kError;
|
| callback->OnError(this, 0);
|
| return;
|
| }
|
| -
|
| - physical_stream_->SetVolume(volume_);
|
| - physical_stream_->Start(callback);
|
| state_ = kPlaying;
|
| }
|
|
|
| @@ -59,19 +52,14 @@
|
| if (state_ != kPlaying)
|
| return;
|
|
|
| - DCHECK(physical_stream_);
|
| - physical_stream_->Stop();
|
| - dispatcher_->StreamStopped(physical_stream_);
|
| - physical_stream_ = NULL;
|
| + dispatcher_->StopStream(this);
|
| state_ = kOpened;
|
| }
|
|
|
| void AudioOutputProxy::SetVolume(double volume) {
|
| DCHECK(CalledOnValidThread());
|
| volume_ = volume;
|
| - if (physical_stream_) {
|
| - physical_stream_->SetVolume(volume);
|
| - }
|
| + dispatcher_->StreamVolumeSet(this, volume);
|
| }
|
|
|
| void AudioOutputProxy::GetVolume(double* volume) {
|
| @@ -82,10 +70,9 @@
|
| void AudioOutputProxy::Close() {
|
| DCHECK(CalledOnValidThread());
|
| DCHECK(state_ == kCreated || state_ == kError || state_ == kOpened);
|
| - DCHECK(!physical_stream_);
|
|
|
| if (state_ != kCreated)
|
| - dispatcher_->StreamClosed();
|
| + dispatcher_->CloseStream(this);
|
|
|
| state_ = kClosed;
|
|
|
|
|