| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/blink/webmediaplayer_impl.h" | 5 #include "media/blink/webmediaplayer_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <limits> | 9 #include <limits> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 1198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1209 // It is safe to call GetCurrentFrameTimestamp() because VFC is stopped | 1209 // It is safe to call GetCurrentFrameTimestamp() because VFC is stopped |
| 1210 // during Suspend(). It won't be started again until after Resume() is | 1210 // during Suspend(). It won't be started again until after Resume() is |
| 1211 // called. | 1211 // called. |
| 1212 seek_time_ = compositor_->GetCurrentFrameTimestamp(); | 1212 seek_time_ = compositor_->GetCurrentFrameTimestamp(); |
| 1213 } | 1213 } |
| 1214 | 1214 |
| 1215 if (chunk_demuxer_) | 1215 if (chunk_demuxer_) |
| 1216 chunk_demuxer_->StartWaitingForSeek(seek_time_); | 1216 chunk_demuxer_->StartWaitingForSeek(seek_time_); |
| 1217 | 1217 |
| 1218 resuming_ = true; | 1218 resuming_ = true; |
| 1219 pipeline_.Resume(CreateRenderer(), seek_time_, | 1219 scoped_ptr<Renderer> renderer = CreateRenderer(); |
| 1220 pipeline_.Resume(&renderer, seek_time_, |
| 1220 BIND_TO_RENDER_LOOP1(&WebMediaPlayerImpl::OnPipelineSeeked, | 1221 BIND_TO_RENDER_LOOP1(&WebMediaPlayerImpl::OnPipelineSeeked, |
| 1221 time_changed)); | 1222 time_changed)); |
| 1222 } | 1223 } |
| 1223 | 1224 |
| 1224 #if defined(OS_ANDROID) // WMPI_CAST | 1225 #if defined(OS_ANDROID) // WMPI_CAST |
| 1225 | 1226 |
| 1226 bool WebMediaPlayerImpl::isRemote() const { | 1227 bool WebMediaPlayerImpl::isRemote() const { |
| 1227 return cast_impl_.isRemote(); | 1228 return cast_impl_.isRemote(); |
| 1228 } | 1229 } |
| 1229 | 1230 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1340 chunk_demuxer_ = new ChunkDemuxer( | 1341 chunk_demuxer_ = new ChunkDemuxer( |
| 1341 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnDemuxerOpened), | 1342 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnDemuxerOpened), |
| 1342 encrypted_media_init_data_cb, media_log_, true); | 1343 encrypted_media_init_data_cb, media_log_, true); |
| 1343 demuxer_.reset(chunk_demuxer_); | 1344 demuxer_.reset(chunk_demuxer_); |
| 1344 } | 1345 } |
| 1345 | 1346 |
| 1346 // ... and we're ready to go! | 1347 // ... and we're ready to go! |
| 1347 seeking_ = true; | 1348 seeking_ = true; |
| 1348 | 1349 |
| 1349 // TODO(sandersd): On Android, defer Start() if the tab is not visible. | 1350 // TODO(sandersd): On Android, defer Start() if the tab is not visible. |
| 1351 scoped_ptr<Renderer> renderer = CreateRenderer(); |
| 1350 pipeline_.Start( | 1352 pipeline_.Start( |
| 1351 demuxer_.get(), CreateRenderer(), | 1353 demuxer_.get(), &renderer, |
| 1352 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineEnded), | 1354 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineEnded), |
| 1353 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineError), | 1355 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineError), |
| 1354 BIND_TO_RENDER_LOOP1(&WebMediaPlayerImpl::OnPipelineSeeked, false), | 1356 BIND_TO_RENDER_LOOP1(&WebMediaPlayerImpl::OnPipelineSeeked, false), |
| 1355 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineMetadata), | 1357 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineMetadata), |
| 1356 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineBufferingStateChanged), | 1358 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineBufferingStateChanged), |
| 1357 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnDurationChanged), | 1359 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnDurationChanged), |
| 1358 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnAddTextTrack), | 1360 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnAddTextTrack), |
| 1359 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnWaitingForDecryptionKey)); | 1361 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnWaitingForDecryptionKey)); |
| 1360 } | 1362 } |
| 1361 | 1363 |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1523 << ", Video: " << stats.video_memory_usage << ", DataSource: " | 1525 << ", Video: " << stats.video_memory_usage << ", DataSource: " |
| 1524 << (data_source_ ? data_source_->GetMemoryUsage() : 0) | 1526 << (data_source_ ? data_source_->GetMemoryUsage() : 0) |
| 1525 << ", Demuxer: " << demuxer_memory_usage; | 1527 << ", Demuxer: " << demuxer_memory_usage; |
| 1526 | 1528 |
| 1527 const int64_t delta = current_memory_usage - last_reported_memory_usage_; | 1529 const int64_t delta = current_memory_usage - last_reported_memory_usage_; |
| 1528 last_reported_memory_usage_ = current_memory_usage; | 1530 last_reported_memory_usage_ = current_memory_usage; |
| 1529 adjust_allocated_memory_cb_.Run(delta); | 1531 adjust_allocated_memory_cb_.Run(delta); |
| 1530 } | 1532 } |
| 1531 | 1533 |
| 1532 } // namespace media | 1534 } // namespace media |
| OLD | NEW |