| Index: media/base/renderer_factory_selector.h
|
| diff --git a/media/base/renderer_factory_selector.h b/media/base/renderer_factory_selector.h
|
| index d40c20a32e3f9960feb0dfe9f801f1d5e4ec0f9a..c57943483a1d7784fd4741979553b50de6012601 100644
|
| --- a/media/base/renderer_factory_selector.h
|
| +++ b/media/base/renderer_factory_selector.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef MEDIA_BASE_RENDERER_FACTORY_SELECTOR_H_
|
| #define MEDIA_BASE_RENDERER_FACTORY_SELECTOR_H_
|
|
|
| +#include "base/callback.h"
|
| #include "base/optional.h"
|
| #include "media/base/renderer_factory.h"
|
|
|
| @@ -15,12 +16,14 @@ namespace media {
|
| // choosing which RendererFactory should be used when creating a new Renderer.
|
| class MEDIA_EXPORT RendererFactorySelector {
|
| public:
|
| + using QueryIsRemotingActiveCB = base::Callback<bool()>;
|
| +
|
| enum FactoryType {
|
| DEFAULT, // DefaultRendererFactory.
|
| MOJO, // MojoRendererFactory.
|
| MEDIA_PLAYER, // MediaPlayerRendererClientFactory.
|
| - ADAPTIVE, // AdaptiveRendererFactory.
|
| - FACTORY_TYPE_MAX = ADAPTIVE,
|
| + COURIER, // CourierRendererFactory.
|
| + FACTORY_TYPE_MAX = COURIER,
|
| };
|
|
|
| RendererFactorySelector();
|
| @@ -46,13 +49,15 @@ class MEDIA_EXPORT RendererFactorySelector {
|
| void SetUseMediaPlayer(bool use_media_player);
|
| #endif
|
|
|
| - private:
|
| - void UpdateCurrentFactory();
|
| + // Sets the callback to query whether we are currently remoting, and if we
|
| + // should temporarily use the COURIER factory.
|
| + void SetQueryIsRemotingActiveCB(
|
| + QueryIsRemotingActiveCB query_is_remoting_active_cb);
|
|
|
| + private:
|
| bool use_media_player_ = false;
|
|
|
| - bool current_factory_needs_update_ = true;
|
| - RendererFactory* current_factory_ = nullptr;
|
| + QueryIsRemotingActiveCB query_is_remoting_active_cb_;
|
|
|
| base::Optional<FactoryType> base_factory_type_;
|
| std::unique_ptr<RendererFactory> factories_[FACTORY_TYPE_MAX + 1];
|
|
|