Commit 3aa775f9 authored by scherkus@chromium.org's avatar scherkus@chromium.org

Prevent media::ClocklessAudioSink from stopping already stopped threads.

r272301 uncovered a bug in ClocklessAudioSink where calling Pause()
prior to Stop() would attempt to stop the thread twice.

BUG=376578
TBR=dalecurtis

Review URL: https://codereview.chromium.org/292363005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272486 0039d316-1c4b-4281-b951-d872f2087c98
parent 98704984
......@@ -73,16 +73,12 @@ void ClocklessAudioSink::Initialize(const AudioParameters& params,
}
void ClocklessAudioSink::Start() {
DCHECK(initialized_);
DCHECK(!playing_);
}
void ClocklessAudioSink::Stop() {
DCHECK(initialized_);
if (!playing_)
return;
playback_time_ = thread_->Stop();
Pause();
}
void ClocklessAudioSink::Play() {
......@@ -96,7 +92,13 @@ void ClocklessAudioSink::Play() {
}
void ClocklessAudioSink::Pause() {
Stop();
DCHECK(initialized_);
if (!playing_)
return;
playing_ = false;
playback_time_ = thread_->Stop();
}
bool ClocklessAudioSink::SetVolume(double volume) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment