| Index: media/base/renderer_factory_selector.cc
|
| diff --git a/media/base/renderer_factory_selector.cc b/media/base/renderer_factory_selector.cc
|
| index 6a5d956627b43f686c7d7c01d66b3023f6c6d5fe..9bbaef13a85d750a659973d26485f35fbf9d1b78 100644
|
| --- a/media/base/renderer_factory_selector.cc
|
| +++ b/media/base/renderer_factory_selector.cc
|
| @@ -26,9 +26,6 @@ void RendererFactorySelector::SetBaseFactoryType(FactoryType type) {
|
| current_factory_needs_update_ = true;
|
| }
|
|
|
| -// For the moment, this method should only be called once or twice.
|
| -// This method will be regularly called whenever the logic in choosing a
|
| -// renderer type is moved out of the AdaptiveRendererFactory, into this method.
|
| void RendererFactorySelector::UpdateCurrentFactory() {
|
| DCHECK_NE(base_factory_type_, FactoryType::UNKNOWN);
|
| FactoryType next_factory_type = base_factory_type_;
|
| @@ -36,6 +33,9 @@ void RendererFactorySelector::UpdateCurrentFactory() {
|
| if (use_media_player_)
|
| next_factory_type = FactoryType::MEDIA_PLAYER;
|
|
|
| + if (use_courier_cb_ && use_courier_cb_.Run())
|
| + next_factory_type = FactoryType::COURIER;
|
| +
|
| auto it = factories_.find(next_factory_type);
|
|
|
| if (it == factories_.end()) {
|
| @@ -46,7 +46,8 @@ void RendererFactorySelector::UpdateCurrentFactory() {
|
| DVLOG(1) << __func__ << " Selected factory type: " << it->first;
|
| current_factory_ = it->second.get();
|
|
|
| - current_factory_needs_update_ = false;
|
| + // Update |current_factory_| every time if we are using the COURIER factory.
|
| + current_factory_needs_update_ = !!use_courier_cb_;
|
| }
|
|
|
| RendererFactory* RendererFactorySelector::GetCurrentFactory() {
|
| @@ -64,4 +65,10 @@ void RendererFactorySelector::SetUseMediaPlayer(bool use_media_player) {
|
| }
|
| #endif
|
|
|
| +void RendererFactorySelector::SetUseCourierCB(UseCourierCB use_courier_cb) {
|
| + DCHECK(!use_courier_cb_);
|
| + use_courier_cb_ = use_courier_cb;
|
| + current_factory_needs_update_ = true;
|
| +}
|
| +
|
| } // namespace media
|
|
|