| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/renderers/renderer_impl.h" | 5 #include "media/renderers/renderer_impl.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 } | 222 } |
| 223 | 223 |
| 224 void RendererImpl::RestartStreamPlayback(DemuxerStream* stream, | 224 void RendererImpl::RestartStreamPlayback(DemuxerStream* stream, |
| 225 bool enabled, | 225 bool enabled, |
| 226 base::TimeDelta time) { | 226 base::TimeDelta time) { |
| 227 DCHECK(task_runner_->BelongsToCurrentThread()); | 227 DCHECK(task_runner_->BelongsToCurrentThread()); |
| 228 DCHECK(stream); | 228 DCHECK(stream); |
| 229 bool video = (stream->type() == DemuxerStream::VIDEO); | 229 bool video = (stream->type() == DemuxerStream::VIDEO); |
| 230 DVLOG(1) << __func__ << (video ? " video" : " audio") << " stream=" << stream | 230 DVLOG(1) << __func__ << (video ? " video" : " audio") << " stream=" << stream |
| 231 << " enabled=" << stream->enabled() << " time=" << time.InSecondsF(); | 231 << " enabled=" << stream->enabled() << " time=" << time.InSecondsF(); |
| 232 if (state_ != STATE_PLAYING) | 232 if ((state_ != STATE_PLAYING) || (audio_ended_ && video_ended_)) |
| 233 return; | 233 return; |
| 234 if (stream->type() == DemuxerStream::VIDEO) { | 234 if (stream->type() == DemuxerStream::VIDEO) { |
| 235 DCHECK(video_renderer_); | 235 DCHECK(video_renderer_); |
| 236 if (restarting_video_) | 236 if (restarting_video_) |
| 237 return; | 237 return; |
| 238 restarting_video_ = true; | 238 restarting_video_ = true; |
| 239 video_renderer_->Flush( | 239 video_renderer_->Flush( |
| 240 base::Bind(&RendererImpl::RestartVideoRenderer, weak_this_, time)); | 240 base::Bind(&RendererImpl::RestartVideoRenderer, weak_this_, time)); |
| 241 } else if (stream->type() == DemuxerStream::AUDIO) { | 241 } else if (stream->type() == DemuxerStream::AUDIO) { |
| 242 DCHECK(audio_renderer_); | 242 DCHECK(audio_renderer_); |
| (...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 849 DCHECK(task_runner_->BelongsToCurrentThread()); | 849 DCHECK(task_runner_->BelongsToCurrentThread()); |
| 850 client_->OnVideoNaturalSizeChange(size); | 850 client_->OnVideoNaturalSizeChange(size); |
| 851 } | 851 } |
| 852 | 852 |
| 853 void RendererImpl::OnVideoOpacityChange(bool opaque) { | 853 void RendererImpl::OnVideoOpacityChange(bool opaque) { |
| 854 DCHECK(task_runner_->BelongsToCurrentThread()); | 854 DCHECK(task_runner_->BelongsToCurrentThread()); |
| 855 client_->OnVideoOpacityChange(opaque); | 855 client_->OnVideoOpacityChange(opaque); |
| 856 } | 856 } |
| 857 | 857 |
| 858 } // namespace media | 858 } // namespace media |
| OLD | NEW |