Index: chromecast/browser/media/cast_renderer.h |
diff --git a/chromecast/browser/media/cast_renderer.h b/chromecast/browser/media/cast_renderer.h |
index 5866e94d4ee52641271370379c94ed22949c2e51..bd572364bf69cb4d9c80250624e50c9c006e28d1 100644 |
--- a/chromecast/browser/media/cast_renderer.h |
+++ b/chromecast/browser/media/cast_renderer.h |
@@ -2,6 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "base/memory/weak_ptr.h" |
#include "chromecast/browser/media/media_pipeline_backend_factory.h" |
#include "media/base/renderer.h" |
@@ -28,12 +29,8 @@ class CastRenderer : public ::media::Renderer { |
// ::media::Renderer implementation. |
void Initialize(::media::DemuxerStreamProvider* demuxer_stream_provider, |
- const ::media::PipelineStatusCB& init_cb, |
- const ::media::StatisticsCB& statistics_cb, |
- const ::media::BufferingStateCB& buffering_state_cb, |
- const base::Closure& ended_cb, |
- const ::media::PipelineStatusCB& error_cb, |
- const base::Closure& waiting_for_decryption_key_cb) final; |
+ ::media::RendererClient* client, |
+ const ::media::PipelineStatusCB& init_cb) final; |
void SetCdm(::media::CdmContext* cdm_context, |
const ::media::CdmAttachedCB& cdm_attached_cb) final; |
void Flush(const base::Closure& flush_cb) final; |
@@ -46,15 +43,21 @@ class CastRenderer : public ::media::Renderer { |
private: |
enum Stream { STREAM_AUDIO, STREAM_VIDEO }; |
- void OnEos(Stream stream); |
+ void OnError(::media::PipelineStatus status); |
+ void OnEnded(Stream stream); |
+ void OnStatisticsUpdate(const ::media::PipelineStatistics& stats); |
+ void OnBufferingStateChange(::media::BufferingState state); |
+ void OnWaitingForDecryptionKey(); |
const CreateMediaPipelineBackendCB create_backend_cb_; |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
+ ::media::RendererClient* client_; |
scoped_refptr<BalancedMediaTaskRunnerFactory> media_task_runner_factory_; |
std::unique_ptr<TaskRunnerImpl> backend_task_runner_; |
std::unique_ptr<MediaPipelineImpl> pipeline_; |
bool eos_[2]; |
- base::Closure ended_cb_; |
+ base::WeakPtrFactory<CastRenderer> weak_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(CastRenderer); |
}; |