Chromium Code Reviews| Index: media/renderers/audio_renderer_impl.h |
| diff --git a/media/renderers/audio_renderer_impl.h b/media/renderers/audio_renderer_impl.h |
| index f7915d31a607bdc512ac96704a1ddc7085c8d5cf..7f1e16d83f5222dd5df5739b343d3c08626b46a3 100644 |
| --- a/media/renderers/audio_renderer_impl.h |
| +++ b/media/renderers/audio_renderer_impl.h |
| @@ -36,6 +36,7 @@ |
| #include "media/base/time_source.h" |
| #include "media/filters/audio_renderer_algorithm.h" |
| #include "media/filters/decoder_stream.h" |
| +#include "media/renderers/default_renderer_factory.h" |
| namespace base { |
| class SingleThreadTaskRunner; |
| @@ -62,7 +63,7 @@ class MEDIA_EXPORT AudioRendererImpl |
| AudioRendererImpl( |
| const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
| AudioRendererSink* sink, |
| - ScopedVector<AudioDecoder> decoders, |
| + const CreateAudioDecodersCB& create_audio_decoders_cb, |
| const scoped_refptr<MediaLog>& media_log); |
| ~AudioRendererImpl() override; |
| @@ -96,16 +97,18 @@ class MEDIA_EXPORT AudioRendererImpl |
| // Important detail: being in kPlaying doesn't imply that audio is being |
| // rendered. Rather, it means that the renderer is ready to go. The actual |
| // rendering of audio is controlled via Start/StopRendering(). |
| + // Audio renderer can be reinitialized completely by calling Initialize again |
| + // when it is in a kFlushed and stopped (StopTicking) state. |
|
xhwang
2017/03/22 22:31:12
Please update AudioRenderer interface documentatio
servolk
2017/03/23 17:08:10
Done.
|
| // |
| // kUninitialized |
| - // | Initialize() |
| - // | |
| - // V |
| - // kInitializing |
| - // | Decoders initialized |
| - // | |
| - // V Decoders reset |
| - // kFlushed <------------------ kFlushing |
| + // +----> | Initialize() |
| + // | | |
| + // | V |
| + // | kInitializing |
| + // | | Decoders initialized |
| + // | | |
| + // | V Decoders reset |
| + // +- kFlushed <------------------ kFlushing |
| // | StartPlaying() ^ |
| // | | |
| // | | Flush() |
| @@ -253,6 +256,8 @@ class MEDIA_EXPORT AudioRendererImpl |
| // Simple state tracking variable. |
| State state_; |
| + CreateAudioDecodersCB create_audio_decoders_cb_; |
| + |
| BufferingState buffering_state_; |
| // Keep track of whether or not the sink is playing and whether we should be |