| Index: media/blink/multibuffer_data_source.cc
|
| diff --git a/media/blink/multibuffer_data_source.cc b/media/blink/multibuffer_data_source.cc
|
| index 494ea264664aeaa3e005922b02633ae8b58e0bfd..a1a3020d6010e73d9cd19d90ec5bbd7f779b5b28 100644
|
| --- a/media/blink/multibuffer_data_source.cc
|
| +++ b/media/blink/multibuffer_data_source.cc
|
| @@ -263,16 +263,6 @@ bool MultibufferDataSource::DidPassCORSAccessCheck() const {
|
| return true;
|
| }
|
|
|
| -void MultibufferDataSource::Abort() {
|
| - DCHECK(render_task_runner_->BelongsToCurrentThread());
|
| - {
|
| - base::AutoLock auto_lock(lock_);
|
| - StopInternal_Locked();
|
| - }
|
| - StopLoader();
|
| - frame_ = NULL;
|
| -}
|
| -
|
| void MultibufferDataSource::MediaPlaybackRateChanged(double playback_rate) {
|
| DCHECK(render_task_runner_->BelongsToCurrentThread());
|
| DCHECK(reader_.get());
|
| @@ -307,6 +297,13 @@ void MultibufferDataSource::Stop() {
|
| weak_factory_.GetWeakPtr()));
|
| }
|
|
|
| +void MultibufferDataSource::Abort() {
|
| + base::AutoLock auto_lock(lock_);
|
| + DCHECK(init_cb_.is_null());
|
| + if (read_op_)
|
| + ReadOperation::Run(std::move(read_op_), kAborted);
|
| +}
|
| +
|
| void MultibufferDataSource::SetBitrate(int bitrate) {
|
| render_task_runner_->PostTask(
|
| FROM_HERE, base::Bind(&MultibufferDataSource::SetBitrateTask,
|
| @@ -380,9 +377,8 @@ void MultibufferDataSource::ReadTask() {
|
|
|
| base::AutoLock auto_lock(lock_);
|
| int bytes_read = 0;
|
| - if (stop_signal_received_)
|
| + if (stop_signal_received_ || !read_op_)
|
| return;
|
| - DCHECK(read_op_);
|
| DCHECK(read_op_->size());
|
|
|
| if (!reader_) {
|
|
|