Chromium Code Reviews| 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..6e4583b80f34aeb38d2dbbcada5b5554c73133c0 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 UseCourierCB = 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,11 +49,17 @@ class MEDIA_EXPORT RendererFactorySelector { |
| void SetUseMediaPlayer(bool use_media_player); |
| #endif |
| + // Sets the callback to check whether we should be temporarily use the COURIER |
| + // factory. |
| + void SetUseCourierCB(UseCourierCB use_courier_cb); |
| + |
| private: |
| void UpdateCurrentFactory(); |
| bool use_media_player_ = false; |
| + UseCourierCB use_courier_cb_; |
|
miu
2017/05/02 22:40:04
nit: When I see this used in the code, it feels li
tguilbert
2017/05/03 01:34:25
I am using QueryIsRemotingActiveCB for now. I also
|
| + |
| bool current_factory_needs_update_ = true; |
|
miu
2017/05/02 22:40:04
Can we simplify by getting rid of |current_factory
tguilbert
2017/05/03 01:34:25
You are right, this was probably excessive in the
|
| RendererFactory* current_factory_ = nullptr; |