| 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/mojo/clients/mojo_renderer.h" | 5 #include "media/mojo/clients/mojo_renderer.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_helpers.h" | 10 #include "base/callback_helpers.h" |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 DCHECK(remote_renderer_.is_bound()); | 221 DCHECK(remote_renderer_.is_bound()); |
| 222 | 222 |
| 223 remote_renderer_->SetVolume(volume); | 223 remote_renderer_->SetVolume(volume); |
| 224 } | 224 } |
| 225 | 225 |
| 226 base::TimeDelta MojoRenderer::GetMediaTime() { | 226 base::TimeDelta MojoRenderer::GetMediaTime() { |
| 227 base::AutoLock auto_lock(lock_); | 227 base::AutoLock auto_lock(lock_); |
| 228 return media_time_interpolator_.GetInterpolatedTime(); | 228 return media_time_interpolator_.GetInterpolatedTime(); |
| 229 } | 229 } |
| 230 | 230 |
| 231 bool MojoRenderer::HasAudio() { | |
| 232 DVLOG(1) << __FUNCTION__; | |
| 233 DCHECK(task_runner_->BelongsToCurrentThread()); | |
| 234 DCHECK(remote_renderer_.is_bound()); | |
| 235 | |
| 236 if (demuxer_stream_provider_->GetType() == DemuxerStreamProvider::Type::URL) { | |
| 237 NOTIMPLEMENTED(); | |
| 238 return false; | |
| 239 } | |
| 240 | |
| 241 return !!demuxer_stream_provider_->GetStream(DemuxerStream::AUDIO); | |
| 242 } | |
| 243 | |
| 244 bool MojoRenderer::HasVideo() { | |
| 245 DVLOG(1) << __FUNCTION__; | |
| 246 DCHECK(task_runner_->BelongsToCurrentThread()); | |
| 247 DCHECK(remote_renderer_.is_bound()); | |
| 248 | |
| 249 if (demuxer_stream_provider_->GetType() == DemuxerStreamProvider::Type::URL) { | |
| 250 NOTIMPLEMENTED(); | |
| 251 return false; | |
| 252 } | |
| 253 | |
| 254 return !!demuxer_stream_provider_->GetStream(DemuxerStream::VIDEO); | |
| 255 } | |
| 256 | |
| 257 void MojoRenderer::OnTimeUpdate(base::TimeDelta time, | 231 void MojoRenderer::OnTimeUpdate(base::TimeDelta time, |
| 258 base::TimeDelta max_time, | 232 base::TimeDelta max_time, |
| 259 base::TimeTicks capture_time) { | 233 base::TimeTicks capture_time) { |
| 260 DVLOG(4) << __FUNCTION__ << "(" << time << ", " << max_time << ", " | 234 DVLOG(4) << __FUNCTION__ << "(" << time << ", " << max_time << ", " |
| 261 << capture_time << ")"; | 235 << capture_time << ")"; |
| 262 DCHECK(task_runner_->BelongsToCurrentThread()); | 236 DCHECK(task_runner_->BelongsToCurrentThread()); |
| 263 | 237 |
| 264 base::AutoLock auto_lock(lock_); | 238 base::AutoLock auto_lock(lock_); |
| 265 media_time_interpolator_.SetBounds(time, max_time, capture_time); | 239 media_time_interpolator_.SetBounds(time, max_time, capture_time); |
| 266 } | 240 } |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 base::ResetAndReturn(&init_cb_).Run(PIPELINE_ERROR_INITIALIZATION_FAILED); | 387 base::ResetAndReturn(&init_cb_).Run(PIPELINE_ERROR_INITIALIZATION_FAILED); |
| 414 | 388 |
| 415 if (!flush_cb_.is_null()) | 389 if (!flush_cb_.is_null()) |
| 416 base::ResetAndReturn(&flush_cb_).Run(); | 390 base::ResetAndReturn(&flush_cb_).Run(); |
| 417 | 391 |
| 418 if (!cdm_attached_cb_.is_null()) | 392 if (!cdm_attached_cb_.is_null()) |
| 419 base::ResetAndReturn(&cdm_attached_cb_).Run(false); | 393 base::ResetAndReturn(&cdm_attached_cb_).Run(false); |
| 420 } | 394 } |
| 421 | 395 |
| 422 } // namespace media | 396 } // namespace media |
| OLD | NEW |