Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/media/android/browser_media_player_manager.h" | 5 #include "content/browser/media/android/browser_media_player_manager.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/android/scoped_java_ref.h" | 9 #include "base/android/scoped_java_ref.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 81 #endif | 81 #endif |
| 82 | 82 |
| 83 std::unique_ptr<MediaPlayerAndroid> | 83 std::unique_ptr<MediaPlayerAndroid> |
| 84 BrowserMediaPlayerManager::CreateMediaPlayer( | 84 BrowserMediaPlayerManager::CreateMediaPlayer( |
| 85 const MediaPlayerHostMsg_Initialize_Params& media_player_params, | 85 const MediaPlayerHostMsg_Initialize_Params& media_player_params, |
| 86 bool hide_url_log) { | 86 bool hide_url_log) { |
| 87 switch (media_player_params.type) { | 87 switch (media_player_params.type) { |
| 88 case MEDIA_PLAYER_TYPE_REMOTE_ONLY: | 88 case MEDIA_PLAYER_TYPE_REMOTE_ONLY: |
| 89 case MEDIA_PLAYER_TYPE_URL: { | 89 case MEDIA_PLAYER_TYPE_URL: { |
| 90 const std::string user_agent = GetContentClient()->GetUserAgent(); | 90 const std::string user_agent = GetContentClient()->GetUserAgent(); |
| 91 std::unique_ptr<MediaPlayerAndroid> media_player_bridge( | 91 auto media_player_bridge = base::MakeUnique<MediaPlayerBridge>( |
|
danakj
2017/03/15 15:20:24
LGTM :)
| |
| 92 new MediaPlayerBridge( | 92 media_player_params.player_id, media_player_params.url, |
| 93 media_player_params.player_id, media_player_params.url, | 93 media_player_params.first_party_for_cookies, user_agent, hide_url_log, |
| 94 media_player_params.first_party_for_cookies, user_agent, | 94 this, |
| 95 hide_url_log, this, | 95 base::Bind(&BrowserMediaPlayerManager::OnDecoderResourcesReleased, |
| 96 base::Bind(&BrowserMediaPlayerManager::OnDecoderResourcesReleased, | 96 weak_ptr_factory_.GetWeakPtr()), |
| 97 weak_ptr_factory_.GetWeakPtr()), | 97 media_player_params.frame_url, media_player_params.allow_credentials); |
| 98 media_player_params.frame_url, | |
| 99 media_player_params.allow_credentials)); | |
| 100 | 98 |
| 101 if (media_player_params.type == MEDIA_PLAYER_TYPE_REMOTE_ONLY) | 99 if (media_player_params.type == MEDIA_PLAYER_TYPE_REMOTE_ONLY) |
| 102 return media_player_bridge; | 100 return std::move(media_player_bridge); |
| 103 | 101 |
| 104 bool should_block = false; | 102 bool should_block = false; |
| 105 bool extract_metadata = | 103 bool extract_metadata = |
| 106 // Initialize the player will cause MediaMetadataExtractor to decode | 104 // Initialize the player will cause MediaMetadataExtractor to decode |
| 107 // small chunks of data. | 105 // small chunks of data. |
| 108 RequestDecoderResources(media_player_params.player_id, true); | 106 RequestDecoderResources(media_player_params.player_id, true); |
| 109 #if !defined(USE_AURA) | 107 #if !defined(USE_AURA) |
| 110 if (WebContentsDelegate* delegate = web_contents_->GetDelegate()) { | 108 if (WebContentsDelegate* delegate = web_contents_->GetDelegate()) { |
| 111 should_block = | 109 should_block = |
| 112 delegate->ShouldBlockMediaRequest(media_player_params.url); | 110 delegate->ShouldBlockMediaRequest(media_player_params.url); |
| 113 } else { | 111 } else { |
| 114 extract_metadata = false; | 112 extract_metadata = false; |
| 115 } | 113 } |
| 116 #endif | 114 #endif |
| 117 if (!extract_metadata) { | 115 if (!extract_metadata) { |
| 118 // May reach here due to prerendering or throttling. Don't extract the | 116 // May reach here due to prerendering or throttling. Don't extract the |
| 119 // metadata since it is expensive. | 117 // metadata since it is expensive. |
| 120 // TODO(qinmin): extract the metadata once the user decided to load | 118 // TODO(qinmin): extract the metadata once the user decided to load |
| 121 // the page. | 119 // the page. |
| 122 OnMediaMetadataChanged(media_player_params.player_id, base::TimeDelta(), | 120 OnMediaMetadataChanged(media_player_params.player_id, base::TimeDelta(), |
| 123 0, 0, false); | 121 0, 0, false); |
| 124 } else if (!should_block) { | 122 } else if (!should_block) { |
| 125 static_cast<MediaPlayerBridge*>(media_player_bridge.get()) | 123 media_player_bridge->Initialize(); |
| 126 ->Initialize(); | |
| 127 } | 124 } |
| 128 return media_player_bridge; | 125 return std::move(media_player_bridge); |
| 129 } | 126 } |
| 130 } | 127 } |
| 131 | 128 |
| 132 NOTREACHED(); | 129 NOTREACHED(); |
| 133 return nullptr; | 130 return nullptr; |
| 134 } | 131 } |
| 135 | 132 |
| 136 BrowserMediaPlayerManager::BrowserMediaPlayerManager( | 133 BrowserMediaPlayerManager::BrowserMediaPlayerManager( |
| 137 RenderFrameHost* render_frame_host) | 134 RenderFrameHost* render_frame_host) |
| 138 : render_frame_host_(render_frame_host), | 135 : render_frame_host_(render_frame_host), |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 562 if (!player) | 559 if (!player) |
| 563 return; | 560 return; |
| 564 player->Start(); | 561 player->Start(); |
| 565 if (fullscreen_player_id_ == player_id && fullscreen_player_is_released_) { | 562 if (fullscreen_player_id_ == player_id && fullscreen_player_is_released_) { |
| 566 video_view_->OpenVideo(); | 563 video_view_->OpenVideo(); |
| 567 fullscreen_player_is_released_ = false; | 564 fullscreen_player_is_released_ = false; |
| 568 } | 565 } |
| 569 } | 566 } |
| 570 | 567 |
| 571 } // namespace content | 568 } // namespace content |
| OLD | NEW |