 Chromium Code Reviews
 Chromium Code Reviews Issue 1531543002:
  [Chromecast] Adding pause/resume operations to VideoPlaneController.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1531543002:
  [Chromecast] Adding pause/resume operations to VideoPlaneController.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| OLD | NEW | 
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chromecast/browser/media/cma_media_pipeline_client.h" | 5 #include "chromecast/browser/media/cma_media_pipeline_client.h" | 
| 6 #include "chromecast/public/cast_media_shlib.h" | 6 #include "chromecast/public/cast_media_shlib.h" | 
| 7 | 7 | 
| 8 namespace chromecast { | 8 namespace chromecast { | 
| 9 namespace media { | 9 namespace media { | 
| 10 | 10 | 
| 11 CmaMediaPipelineClient::CmaMediaPipelineClient() : media_pipeline_count_(0) { | 11 CmaMediaPipelineClient::CmaMediaPipelineClient() : media_pipeline_count_(0) { | 
| 12 thread_checker_.DetachFromThread(); | 12 thread_checker_.DetachFromThread(); | 
| 13 } | 13 } | 
| 14 | 14 | 
| 15 CmaMediaPipelineClient::~CmaMediaPipelineClient() {} | 15 CmaMediaPipelineClient::~CmaMediaPipelineClient() {} | 
| 16 | 16 | 
| 17 scoped_ptr<MediaPipelineBackend> | 17 scoped_ptr<MediaPipelineBackend> | 
| 18 CmaMediaPipelineClient::CreateMediaPipelineBackend( | 18 CmaMediaPipelineClient::CreateMediaPipelineBackend( | 
| 19 const MediaPipelineDeviceParams& params) { | 19 const MediaPipelineDeviceParams& params) { | 
| 20 return make_scoped_ptr(CastMediaShlib::CreateMediaPipelineBackend(params)); | 20 return make_scoped_ptr(CastMediaShlib::CreateMediaPipelineBackend(params)); | 
| 21 } | 21 } | 
| 22 | 22 | 
| 23 void CmaMediaPipelineClient::OnMediaPipelineBackendCreated() { | 23 void CmaMediaPipelineClient::OnMediaPipelineBackendCreated() { | 
| 24 DCHECK(thread_checker_.CalledOnValidThread()); | 24 DCHECK(thread_checker_.CalledOnValidThread()); | 
| 25 media_pipeline_count_++; | 25 media_pipeline_count_++; | 
| 26 | 26 | 
| 27 if (media_pipeline_count_ == 1) | 27 if (media_pipeline_count_ == 1) | 
| 28 NotifyResourceAcquired(); | 28 RegisterWithClient(); | 
| 
halliwell
2016/01/12 03:25:07
This makes me think RegisterWIthClient should be g
 
esum
2016/01/15 23:02:28
Done. Scoped it with class name. Also added commen
 | |
| 29 } | 29 } | 
| 30 | 30 | 
| 31 void CmaMediaPipelineClient::OnMediaPipelineBackendDestroyed() { | 31 void CmaMediaPipelineClient::OnMediaPipelineBackendDestroyed() { | 
| 32 DCHECK(thread_checker_.CalledOnValidThread()); | 32 DCHECK(thread_checker_.CalledOnValidThread()); | 
| 33 media_pipeline_count_--; | 33 media_pipeline_count_--; | 
| 34 | 34 | 
| 35 if (media_pipeline_count_ == 0) | 35 if (media_pipeline_count_ == 0) | 
| 36 NotifyResourceReleased(CastResource::kResourceNone); | 36 NotifyResourceReleased(CastResource::kResourceNone); | 
| 37 } | 37 } | 
| 38 | 38 | 
| 39 void CmaMediaPipelineClient::AcquireResource(CastResource::Resource resource) {} | |
| 40 | |
| 39 void CmaMediaPipelineClient::ReleaseResource(CastResource::Resource resource) { | 41 void CmaMediaPipelineClient::ReleaseResource(CastResource::Resource resource) { | 
| 40 CastResource::Resource audio_video_resource = | 42 CastResource::Resource audio_video_resource = | 
| 41 static_cast<CastResource::Resource>(CastResource::kResourceAudio | | 43 static_cast<CastResource::Resource>(CastResource::kResourceAudio | | 
| 42 CastResource::kResourceScreenPrimary); | 44 CastResource::kResourceScreenPrimary); | 
| 43 | 45 | 
| 44 // TODO(yucliu): media pipeline need to stop audio video seperately | 46 // TODO(yucliu): media pipeline need to stop audio video seperately | 
| 45 if (!(resource & audio_video_resource)) | 47 if (!(resource & audio_video_resource)) | 
| 46 NotifyResourceReleased(audio_video_resource); | 48 NotifyResourceReleased(audio_video_resource); | 
| 47 } | 49 } | 
| 48 | 50 | 
| 49 } // namespace media | 51 } // namespace media | 
| 50 } // namespace chromecast | 52 } // namespace chromecast | 
| OLD | NEW |