Index: chromecast/media/cma/filters/cma_renderer.h |
diff --git a/chromecast/media/cma/filters/cma_renderer.h b/chromecast/media/cma/filters/cma_renderer.h |
deleted file mode 100644 |
index f76226bd2152d724e32c0eb69aa8cd31ca7655cb..0000000000000000000000000000000000000000 |
--- a/chromecast/media/cma/filters/cma_renderer.h |
+++ /dev/null |
@@ -1,159 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROMECAST_MEDIA_CMA_FILTERS_CMA_RENDERER_H_ |
-#define CHROMECAST_MEDIA_CMA_FILTERS_CMA_RENDERER_H_ |
- |
-#include "base/macros.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/synchronization/lock.h" |
-#include "base/threading/thread_checker.h" |
-#include "base/time/default_tick_clock.h" |
-#include "media/base/buffering_state.h" |
-#include "media/base/renderer.h" |
-#include "ui/gfx/geometry/size.h" |
- |
-namespace base { |
-class SingleThreadTaskRunner; |
-} |
- |
-namespace media { |
-class DemuxerStreamProvider; |
-class GpuVideoAcceleratorFactories; |
-class TimeDeltaInterpolator; |
-class VideoFrame; |
-class VideoRendererSink; |
-} |
- |
-namespace chromecast { |
-namespace media { |
-class AudioPipeline; |
-class BalancedMediaTaskRunnerFactory; |
-class HoleFrameFactory; |
-class MediaPipeline; |
-class VideoPipeline; |
- |
-class CmaRenderer : public ::media::Renderer { |
- public: |
- CmaRenderer(scoped_ptr<MediaPipeline> media_pipeline, |
- ::media::VideoRendererSink* video_renderer_sink, |
- const scoped_refptr<::media::GpuVideoAcceleratorFactories>& |
- gpu_factories); |
- ~CmaRenderer() override; |
- |
- // ::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) override; |
- void Flush(const base::Closure& flush_cb) override; |
- void StartPlayingFrom(base::TimeDelta time) override; |
- void SetPlaybackRate(double playback_rate) override; |
- void SetVolume(float volume) override; |
- base::TimeDelta GetMediaTime() override; |
- bool HasAudio() override; |
- bool HasVideo() override; |
- void SetCdm(::media::CdmContext* cdm_context, |
- const ::media::CdmAttachedCB& cdm_attached_cb) override; |
- |
- private: |
- enum State { |
- kUninitialized, |
- kPlaying, |
- kFlushed, |
- kError, |
- }; |
- |
- // Asynchronous initialization sequence. These four methods are invoked in |
- // the order below, with a successful initialization making it to |
- // OnVideoPipelineInitializeDone, regardless of which streams are present. |
- void InitializeAudioPipeline(); |
- void OnAudioPipelineInitializeDone(bool audio_stream_present, |
- ::media::PipelineStatus status); |
- void InitializeVideoPipeline(); |
- void OnVideoPipelineInitializeDone(bool video_stream_present, |
- ::media::PipelineStatus status); |
- |
- // Callbacks for AvPipelineClient. |
- void OnEosReached(bool is_audio); |
- void OnStatisticsUpdated(const ::media::PipelineStatistics& stats); |
- void OnNaturalSizeChanged(const gfx::Size& size); |
- |
- // Callbacks for MediaPipelineClient. |
- void OnPlaybackTimeUpdated(base::TimeDelta time, |
- base::TimeDelta max_time, |
- base::TimeTicks capture_time); |
- void OnBufferingNotification(::media::BufferingState state); |
- |
- void OnFlushDone(::media::PipelineStatus status); |
- void OnError(::media::PipelineStatus status); |
- |
- // Begin a state transition. |
- // Return true if delayed because of a pending state transition. |
- void BeginStateTransition(); |
- void CompleteStateTransition(State new_state); |
- |
- base::ThreadChecker thread_checker_; |
- |
- scoped_refptr<BalancedMediaTaskRunnerFactory> media_task_runner_factory_; |
- scoped_ptr<MediaPipeline> media_pipeline_; |
- AudioPipeline* audio_pipeline_; |
- VideoPipeline* video_pipeline_; |
- ::media::VideoRendererSink* video_renderer_sink_; |
- |
- ::media::DemuxerStreamProvider* demuxer_stream_provider_; |
- |
- // Set of callbacks. |
- ::media::PipelineStatusCB init_cb_; |
- ::media::StatisticsCB statistics_cb_; |
- base::Closure ended_cb_; |
- ::media::PipelineStatusCB error_cb_; |
- ::media::BufferingStateCB buffering_state_cb_; |
- base::Closure flush_cb_; |
- base::Closure waiting_for_decryption_key_cb_; |
- |
- // Renderer state. |
- // Used mostly for checking that transitions are correct. |
- State state_; |
- bool is_pending_transition_; |
- |
- bool has_audio_; |
- bool has_video_; |
- |
- bool received_audio_eos_; |
- bool received_video_eos_; |
- |
- // Data members for helping the creation of the video hole frame. |
- gfx::Size initial_natural_size_; |
- bool initial_video_hole_created_; |
- scoped_refptr<::media::GpuVideoAcceleratorFactories> gpu_factories_; |
- scoped_ptr<HoleFrameFactory> hole_frame_factory_; |
- |
- // Lock protecting access to |time_interpolator_|. |
- base::Lock time_interpolator_lock_; |
- |
- // base::TickClock used by |time_interpolator_|. |
- base::DefaultTickClock default_tick_clock_; |
- |
- // Tracks the most recent media time update and provides interpolated values |
- // as playback progresses. |
- scoped_ptr< ::media::TimeDeltaInterpolator> time_interpolator_; |
- |
- double playback_rate_; |
- |
- base::WeakPtr<CmaRenderer> weak_this_; |
- base::WeakPtrFactory<CmaRenderer> weak_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(CmaRenderer); |
-}; |
- |
-} // namespace media |
-} // namespace chromecast |
- |
-#endif // CHROMECAST_MEDIA_CMA_FILTERS_CMA_RENDERER_H_ |