Chromium Code Reviews| Index: media/mojo/services/mojo_renderer_service.h |
| diff --git a/media/mojo/services/mojo_renderer_service.h b/media/mojo/services/mojo_renderer_service.h |
| index e1f2cfdcd008bc3d616993b7f6a8055e3f0ac63d..cfea625a37b55406786f12f2a3a6e74d31f45bf7 100644 |
| --- a/media/mojo/services/mojo_renderer_service.h |
| +++ b/media/mojo/services/mojo_renderer_service.h |
| @@ -25,9 +25,9 @@ class ApplicationConnection; |
| namespace media { |
| class AudioManager; |
| -class AudioRenderer; |
| +class DemuxerStreamProviderShim; |
| class MojoDemuxerStreamAdapter; |
| -class TimeSource; |
| +class RendererImpl; |
| // A mojo::MediaRenderer implementation that uses media::AudioRenderer to |
| // decode and render audio to a sink obtained from the ApplicationConnection. |
| @@ -41,9 +41,9 @@ class MojoRendererService : public mojo::InterfaceImpl<mojo::MediaRenderer> { |
| ~MojoRendererService() override; |
| // mojo::MediaRenderer implementation. |
| - void Initialize(mojo::DemuxerStreamPtr stream, |
| - const mojo::Callback<void()>& callback) override; |
| - void Flush(const mojo::Callback<void()>& callback) override; |
| + void Initialize(mojo::DemuxerStreamPtr streams, |
| + const mojo::Closure& callback) override; |
| + void Flush(const mojo::Closure& callback) override; |
| void StartPlayingFrom(int64_t time_delta_usec) override; |
| void SetPlaybackRate(float playback_rate) override; |
| void SetVolume(float volume) override; |
| @@ -59,15 +59,15 @@ class MojoRendererService : public mojo::InterfaceImpl<mojo::MediaRenderer> { |
| // Called when the MojoDemuxerStreamAdapter is ready to go (has a config, |
| // pipe handle, etc) and can be handed off to a renderer for use. |
| - void OnStreamReady(); |
| + void OnStreamReady(const mojo::Closure& callback); |
| // Called when |audio_renderer_| initialization has completed. |
| - void OnAudioRendererInitializeDone(PipelineStatus status); |
| + void OnRendererInitializeDone(const mojo::Closure& callback); |
| // Callback executed by filters to update statistics. |
| void OnUpdateStatistics(const PipelineStatistics& stats); |
| - void UpdateMediaTime(); |
| + void UpdateMediaTime(bool only_if_changed); |
| void SchedulePeriodicMediaTimeUpdates(); |
| // Callback executed by audio renderer when buffering state changes. |
| @@ -75,30 +75,18 @@ class MojoRendererService : public mojo::InterfaceImpl<mojo::MediaRenderer> { |
| void OnBufferingStateChanged(BufferingState new_buffering_state); |
| // Callback executed when a renderer has ended. |
| - void OnAudioRendererEnded(); |
| + void OnRendererEnded(); |
| // Callback executed when a runtime error happens. |
| void OnError(PipelineStatus error); |
| - bool WaitingForEnoughData() const; |
| - void StartPlayback(); |
| - void PausePlayback(); |
| - |
| State state_; |
| - scoped_ptr<MojoDemuxerStreamAdapter> stream_; |
| - scoped_ptr<AudioRenderer> audio_renderer_; |
| - |
| - TimeSource* time_source_; |
| - bool time_ticking_; |
| - |
| - BufferingState buffering_state_; |
| - |
| - mojo::Callback<void()> init_cb_; |
| - |
| - bool ended_; |
| + scoped_ptr<RendererImpl> renderer_; |
|
xhwang
2014/10/28 17:13:33
Can this be a scoped_ptr<Renderer>?
DaleCurtis
2014/10/28 21:51:29
Done.
|
| + scoped_ptr<DemuxerStreamProviderShim> stream_provider_; |
| base::RepeatingTimer<MojoRendererService> time_update_timer_; |
| + uint64_t last_media_time_; |
|
xhwang
2014/10/28 17:13:33
Is this in us?
|
| // TODO(xhwang): Currently we are using a default |audio_hardware_config_|. |
| // Do we need different configs on different platforms? |