| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef MEDIA_MOJO_CLIENTS_MOJO_RENDERER_H_ | 5 #ifndef MEDIA_MOJO_CLIENTS_MOJO_RENDERER_H_ |
| 6 #define MEDIA_MOJO_CLIENTS_MOJO_RENDERER_H_ | 6 #define MEDIA_MOJO_CLIENTS_MOJO_RENDERER_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| 11 #include "base/time/default_tick_clock.h" | 11 #include "base/time/default_tick_clock.h" |
| 12 #include "media/base/demuxer_stream.h" | 12 #include "media/base/demuxer_stream.h" |
| 13 #include "media/base/renderer.h" | 13 #include "media/base/renderer.h" |
| 14 #include "media/base/stream_position.h" |
| 14 #include "media/base/time_delta_interpolator.h" | 15 #include "media/base/time_delta_interpolator.h" |
| 15 #include "media/mojo/interfaces/renderer.mojom.h" | 16 #include "media/mojo/interfaces/renderer.mojom.h" |
| 16 #include "mojo/public/cpp/bindings/associated_binding.h" | 17 #include "mojo/public/cpp/bindings/associated_binding.h" |
| 17 | 18 |
| 18 namespace base { | 19 namespace base { |
| 19 class SingleThreadTaskRunner; | 20 class SingleThreadTaskRunner; |
| 20 } | 21 } |
| 21 | 22 |
| 22 namespace media { | 23 namespace media { |
| 23 | 24 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 44 mojom::RendererPtr remote_renderer); | 45 mojom::RendererPtr remote_renderer); |
| 45 ~MojoRenderer() override; | 46 ~MojoRenderer() override; |
| 46 | 47 |
| 47 // Renderer implementation. | 48 // Renderer implementation. |
| 48 void Initialize(DemuxerStreamProvider* demuxer_stream_provider, | 49 void Initialize(DemuxerStreamProvider* demuxer_stream_provider, |
| 49 media::RendererClient* client, | 50 media::RendererClient* client, |
| 50 const PipelineStatusCB& init_cb) override; | 51 const PipelineStatusCB& init_cb) override; |
| 51 void SetCdm(CdmContext* cdm_context, | 52 void SetCdm(CdmContext* cdm_context, |
| 52 const CdmAttachedCB& cdm_attached_cb) override; | 53 const CdmAttachedCB& cdm_attached_cb) override; |
| 53 void Flush(const base::Closure& flush_cb) override; | 54 void Flush(const base::Closure& flush_cb) override; |
| 54 void StartPlayingFrom(base::TimeDelta time) override; | 55 void StartPlayingFrom(StreamPosition position) override; |
| 55 void SetPlaybackRate(double playback_rate) override; | 56 void SetPlaybackRate(double playback_rate) override; |
| 56 void SetVolume(float volume) override; | 57 void SetVolume(float volume) override; |
| 57 base::TimeDelta GetMediaTime() override; | 58 base::TimeDelta GetMediaTime() override; |
| 58 bool HasAudio() override; | 59 bool HasAudio() override; |
| 59 bool HasVideo() override; | 60 bool HasVideo() override; |
| 60 | 61 |
| 61 private: | 62 private: |
| 62 // mojom::RendererClient implementation, dispatched on the | 63 // mojom::RendererClient implementation, dispatched on the |
| 63 // |task_runner_|. | 64 // |task_runner_|. |
| 64 void OnTimeUpdate(base::TimeDelta time, | 65 void OnTimeUpdate(base::TimeDelta time, |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 mutable base::Lock lock_; | 149 mutable base::Lock lock_; |
| 149 base::DefaultTickClock media_clock_; | 150 base::DefaultTickClock media_clock_; |
| 150 media::TimeDeltaInterpolator media_time_interpolator_; | 151 media::TimeDeltaInterpolator media_time_interpolator_; |
| 151 | 152 |
| 152 DISALLOW_COPY_AND_ASSIGN(MojoRenderer); | 153 DISALLOW_COPY_AND_ASSIGN(MojoRenderer); |
| 153 }; | 154 }; |
| 154 | 155 |
| 155 } // namespace media | 156 } // namespace media |
| 156 | 157 |
| 157 #endif // MEDIA_MOJO_CLIENTS_MOJO_RENDERER_H_ | 158 #endif // MEDIA_MOJO_CLIENTS_MOJO_RENDERER_H_ |
| OLD | NEW |