| 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/renderer/media/android/webmediaplayer_android.h" | 5 #include "content/renderer/media/android/webmediaplayer_android.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/android/build_info.h" | 9 #include "base/android/build_info.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 } // namespace | 140 } // namespace |
| 141 | 141 |
| 142 namespace content { | 142 namespace content { |
| 143 | 143 |
| 144 WebMediaPlayerAndroid::WebMediaPlayerAndroid( | 144 WebMediaPlayerAndroid::WebMediaPlayerAndroid( |
| 145 blink::WebFrame* frame, | 145 blink::WebFrame* frame, |
| 146 blink::WebMediaPlayerClient* client, | 146 blink::WebMediaPlayerClient* client, |
| 147 base::WeakPtr<media::WebMediaPlayerDelegate> delegate, | 147 base::WeakPtr<media::WebMediaPlayerDelegate> delegate, |
| 148 RendererMediaPlayerManager* player_manager, | 148 RendererMediaPlayerManager* player_manager, |
| 149 RendererCdmManager* cdm_manager, | 149 RendererCdmManager* cdm_manager, |
| 150 media::MediaPermission* media_permission, |
| 150 blink::WebContentDecryptionModule* initial_cdm, | 151 blink::WebContentDecryptionModule* initial_cdm, |
| 151 scoped_refptr<StreamTextureFactory> factory, | 152 scoped_refptr<StreamTextureFactory> factory, |
| 152 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 153 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
| 153 media::MediaLog* media_log) | 154 media::MediaLog* media_log) |
| 154 : RenderFrameObserver(RenderFrame::FromWebFrame(frame)), | 155 : RenderFrameObserver(RenderFrame::FromWebFrame(frame)), |
| 155 frame_(frame), | 156 frame_(frame), |
| 156 client_(client), | 157 client_(client), |
| 157 delegate_(delegate), | 158 delegate_(delegate), |
| 158 buffered_(static_cast<size_t>(1)), | 159 buffered_(static_cast<size_t>(1)), |
| 159 media_task_runner_(task_runner), | 160 media_task_runner_(task_runner), |
| 160 ignore_metadata_duration_change_(false), | 161 ignore_metadata_duration_change_(false), |
| 161 pending_seek_(false), | 162 pending_seek_(false), |
| 162 seeking_(false), | 163 seeking_(false), |
| 163 did_loading_progress_(false), | 164 did_loading_progress_(false), |
| 164 player_manager_(player_manager), | 165 player_manager_(player_manager), |
| 165 cdm_manager_(cdm_manager), | 166 cdm_manager_(cdm_manager), |
| 167 media_permission_(media_permission), |
| 166 network_state_(WebMediaPlayer::NetworkStateEmpty), | 168 network_state_(WebMediaPlayer::NetworkStateEmpty), |
| 167 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), | 169 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), |
| 168 texture_id_(0), | 170 texture_id_(0), |
| 169 stream_id_(0), | 171 stream_id_(0), |
| 170 is_player_initialized_(false), | 172 is_player_initialized_(false), |
| 171 is_playing_(false), | 173 is_playing_(false), |
| 172 needs_establish_peer_(true), | 174 needs_establish_peer_(true), |
| 173 has_size_info_(false), | 175 has_size_info_(false), |
| 174 // Compositor thread does not exist in layout tests. | 176 // Compositor thread does not exist in layout tests. |
| 175 compositor_loop_( | 177 compositor_loop_( |
| (...skipping 1327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1503 const std::string& key_system, | 1505 const std::string& key_system, |
| 1504 const unsigned char* init_data, | 1506 const unsigned char* init_data, |
| 1505 unsigned init_data_length) { | 1507 unsigned init_data_length) { |
| 1506 if (!IsKeySystemSupported(key_system)) | 1508 if (!IsKeySystemSupported(key_system)) |
| 1507 return WebMediaPlayer::MediaKeyExceptionKeySystemNotSupported; | 1509 return WebMediaPlayer::MediaKeyExceptionKeySystemNotSupported; |
| 1508 | 1510 |
| 1509 // We do not support run-time switching between key systems for now. | 1511 // We do not support run-time switching between key systems for now. |
| 1510 if (current_key_system_.empty()) { | 1512 if (current_key_system_.empty()) { |
| 1511 if (!proxy_decryptor_) { | 1513 if (!proxy_decryptor_) { |
| 1512 proxy_decryptor_.reset(new media::ProxyDecryptor( | 1514 proxy_decryptor_.reset(new media::ProxyDecryptor( |
| 1515 media_permission_, |
| 1513 base::Bind(&WebMediaPlayerAndroid::OnKeyAdded, | 1516 base::Bind(&WebMediaPlayerAndroid::OnKeyAdded, |
| 1514 weak_factory_.GetWeakPtr()), | 1517 weak_factory_.GetWeakPtr()), |
| 1515 base::Bind(&WebMediaPlayerAndroid::OnKeyError, | 1518 base::Bind(&WebMediaPlayerAndroid::OnKeyError, |
| 1516 weak_factory_.GetWeakPtr()), | 1519 weak_factory_.GetWeakPtr()), |
| 1517 base::Bind(&WebMediaPlayerAndroid::OnKeyMessage, | 1520 base::Bind(&WebMediaPlayerAndroid::OnKeyMessage, |
| 1518 weak_factory_.GetWeakPtr()))); | 1521 weak_factory_.GetWeakPtr()))); |
| 1519 } | 1522 } |
| 1520 | 1523 |
| 1521 GURL security_origin(frame_->document().securityOrigin().toString()); | 1524 GURL security_origin(frame_->document().securityOrigin().toString()); |
| 1522 RenderCdmFactory cdm_factory(cdm_manager_); | 1525 RenderCdmFactory cdm_factory(cdm_manager_); |
| (...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1819 | 1822 |
| 1820 bool WebMediaPlayerAndroid::IsHLSStream() const { | 1823 bool WebMediaPlayerAndroid::IsHLSStream() const { |
| 1821 std::string mime; | 1824 std::string mime; |
| 1822 GURL url = redirected_url_.is_empty() ? url_ : redirected_url_; | 1825 GURL url = redirected_url_.is_empty() ? url_ : redirected_url_; |
| 1823 if (!net::GetMimeTypeFromFile(base::FilePath(url.path()), &mime)) | 1826 if (!net::GetMimeTypeFromFile(base::FilePath(url.path()), &mime)) |
| 1824 return false; | 1827 return false; |
| 1825 return !mime.compare("application/x-mpegurl"); | 1828 return !mime.compare("application/x-mpegurl"); |
| 1826 } | 1829 } |
| 1827 | 1830 |
| 1828 } // namespace content | 1831 } // namespace content |
| OLD | NEW |