Index: chromecast/media/cma/backend/media_pipeline_backend_default.h |
diff --git a/chromecast/media/cma/backend/media_pipeline_backend_default.h b/chromecast/media/cma/backend/media_pipeline_backend_default.h |
index 7a9a602d68577e55b60739b1e708e336cd9818c2..8dc2b94b2e9550df0599b6c54d1258a14cb3c43b 100644 |
--- a/chromecast/media/cma/backend/media_pipeline_backend_default.h |
+++ b/chromecast/media/cma/backend/media_pipeline_backend_default.h |
@@ -2,12 +2,13 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_DEVICE_FACTORY_DEFAULT_H_ |
-#define CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_DEVICE_FACTORY_DEFAULT_H_ |
+#ifndef CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_BACKEND_DEFAULT_H_ |
+#define CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_BACKEND_DEFAULT_H_ |
+#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
+#include "base/time/time.h" |
#include "chromecast/public/media/media_pipeline_backend.h" |
-#include "chromecast/public/media/media_pipeline_device_params.h" |
namespace chromecast { |
namespace media { |
@@ -15,19 +16,31 @@ namespace media { |
// Factory that instantiates default (stub) media pipeline device elements. |
class MediaPipelineBackendDefault : public MediaPipelineBackend { |
public: |
- MediaPipelineBackendDefault(const MediaPipelineDeviceParams& params); |
+ MediaPipelineBackendDefault(); |
~MediaPipelineBackendDefault() override; |
- // MediaPipelineBackend implementation |
- MediaClockDevice* GetClock() override; |
- AudioPipelineDevice* GetAudio() override; |
- VideoPipelineDevice* GetVideo() override; |
+ // MediaPipelineBackend implementation: |
+ AudioDecoder* CreateAudioDecoder() override; |
+ VideoDecoder* CreateVideoDecoder() override; |
+ bool Initialize(Delegate* delegate) override; |
+ bool Start(int64_t start_pts) override; |
+ bool Stop() override; |
+ bool Pause() override; |
+ bool Resume() override; |
+ int64_t GetCurrentPts() override; |
+ bool SetPlaybackRate(float rate) override; |
private: |
- MediaPipelineDeviceParams params_; |
- scoped_ptr<MediaClockDevice> clock_; |
- scoped_ptr<AudioPipelineDevice> audio_; |
- scoped_ptr<VideoPipelineDevice> video_; |
+ class AudioDecoderDefault; |
+ class VideoDecoderDefault; |
+ |
+ base::TimeDelta start_pts_; |
+ base::TimeTicks start_clock_; |
+ bool running_; |
+ float rate_; |
+ |
+ scoped_ptr<AudioDecoderDefault> audio_decoder_; |
+ scoped_ptr<VideoDecoderDefault> video_decoder_; |
DISALLOW_COPY_AND_ASSIGN(MediaPipelineBackendDefault); |
}; |
@@ -35,4 +48,4 @@ class MediaPipelineBackendDefault : public MediaPipelineBackend { |
} // namespace media |
} // namespace chromecast |
-#endif // CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_DEVICE_FACTORY_DEFAULT_H_ |
+#endif // CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_BACKEND_DEFAULT_H_ |