Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Side by Side Diff: content/renderer/media/android/webmediaplayer_android.cc

Issue 1385883002: Leave CreateStreamTexture route id out of the GL interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 namespace content { 154 namespace content {
155 155
156 WebMediaPlayerAndroid::WebMediaPlayerAndroid( 156 WebMediaPlayerAndroid::WebMediaPlayerAndroid(
157 blink::WebFrame* frame, 157 blink::WebFrame* frame,
158 blink::WebMediaPlayerClient* client, 158 blink::WebMediaPlayerClient* client,
159 blink::WebMediaPlayerEncryptedMediaClient* encrypted_client, 159 blink::WebMediaPlayerEncryptedMediaClient* encrypted_client,
160 base::WeakPtr<media::WebMediaPlayerDelegate> delegate, 160 base::WeakPtr<media::WebMediaPlayerDelegate> delegate,
161 RendererMediaPlayerManager* player_manager, 161 RendererMediaPlayerManager* player_manager,
162 media::CdmFactory* cdm_factory, 162 media::CdmFactory* cdm_factory,
163 scoped_refptr<StreamTextureFactory> factory, 163 scoped_refptr<StreamTextureFactory> factory,
164 int frame_id,
164 const media::WebMediaPlayerParams& params) 165 const media::WebMediaPlayerParams& params)
165 : RenderFrameObserver(RenderFrame::FromWebFrame(frame)), 166 : RenderFrameObserver(RenderFrame::FromWebFrame(frame)),
166 frame_(frame), 167 frame_(frame),
167 client_(client), 168 client_(client),
168 encrypted_client_(encrypted_client), 169 encrypted_client_(encrypted_client),
169 delegate_(delegate), 170 delegate_(delegate),
170 defer_load_cb_(params.defer_load_cb()), 171 defer_load_cb_(params.defer_load_cb()),
171 buffered_(static_cast<size_t>(1)), 172 buffered_(static_cast<size_t>(1)),
172 media_task_runner_(params.media_task_runner()), 173 media_task_runner_(params.media_task_runner()),
173 ignore_metadata_duration_change_(false), 174 ignore_metadata_duration_change_(false),
174 pending_seek_(false), 175 pending_seek_(false),
175 seeking_(false), 176 seeking_(false),
176 did_loading_progress_(false), 177 did_loading_progress_(false),
177 player_manager_(player_manager), 178 player_manager_(player_manager),
178 cdm_factory_(cdm_factory), 179 cdm_factory_(cdm_factory),
179 media_permission_(params.media_permission()), 180 media_permission_(params.media_permission()),
180 network_state_(WebMediaPlayer::NetworkStateEmpty), 181 network_state_(WebMediaPlayer::NetworkStateEmpty),
181 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), 182 ready_state_(WebMediaPlayer::ReadyStateHaveNothing),
182 texture_id_(0), 183 texture_id_(0),
183 stream_id_(0), 184 stream_id_(0),
184 is_player_initialized_(false), 185 is_player_initialized_(false),
185 is_playing_(false), 186 is_playing_(false),
186 needs_establish_peer_(true), 187 needs_establish_peer_(true),
187 has_size_info_(false), 188 has_size_info_(false),
188 // Threaded compositing isn't enabled universally yet. 189 // Threaded compositing isn't enabled universally yet.
189 compositor_task_runner_( 190 compositor_task_runner_(params.compositor_task_runner()
190 params.compositor_task_runner() 191 ? params.compositor_task_runner()
191 ? params.compositor_task_runner() 192 : base::ThreadTaskRunnerHandle::Get()),
192 : base::ThreadTaskRunnerHandle::Get()),
193 stream_texture_factory_(factory), 193 stream_texture_factory_(factory),
194 needs_external_surface_(false), 194 needs_external_surface_(false),
195 is_fullscreen_(false), 195 is_fullscreen_(false),
196 video_frame_provider_client_(NULL), 196 video_frame_provider_client_(NULL),
197 player_type_(MEDIA_PLAYER_TYPE_URL), 197 player_type_(MEDIA_PLAYER_TYPE_URL),
198 is_remote_(false), 198 is_remote_(false),
199 media_log_(params.media_log()), 199 media_log_(params.media_log()),
200 init_data_type_(media::EmeInitDataType::UNKNOWN), 200 init_data_type_(media::EmeInitDataType::UNKNOWN),
201 cdm_context_(NULL), 201 cdm_context_(NULL),
202 allow_stored_credentials_(false), 202 allow_stored_credentials_(false),
203 is_local_resource_(false), 203 is_local_resource_(false),
204 interpolator_(&default_tick_clock_), 204 interpolator_(&default_tick_clock_),
205 frame_id_(frame_id),
205 weak_factory_(this) { 206 weak_factory_(this) {
206 DCHECK(player_manager_); 207 DCHECK(player_manager_);
207 DCHECK(cdm_factory_); 208 DCHECK(cdm_factory_);
208 209
209 DCHECK(main_thread_checker_.CalledOnValidThread()); 210 DCHECK(main_thread_checker_.CalledOnValidThread());
210 stream_texture_factory_->AddObserver(this); 211 stream_texture_factory_->AddObserver(this);
211 212
212 player_id_ = player_manager_->RegisterMediaPlayer(this); 213 player_id_ = player_manager_->RegisterMediaPlayer(this);
213 214
214 #if defined(VIDEO_HOLE) 215 #if defined(VIDEO_HOLE)
(...skipping 1167 matching lines...) Expand 10 before | Expand all | Expand 10 after
1382 } 1383 }
1383 } 1384 }
1384 } 1385 }
1385 1386
1386 void WebMediaPlayerAndroid::EstablishSurfaceTexturePeer() { 1387 void WebMediaPlayerAndroid::EstablishSurfaceTexturePeer() {
1387 DCHECK(main_thread_checker_.CalledOnValidThread()); 1388 DCHECK(main_thread_checker_.CalledOnValidThread());
1388 if (!stream_texture_proxy_) 1389 if (!stream_texture_proxy_)
1389 return; 1390 return;
1390 1391
1391 if (stream_texture_factory_.get() && stream_id_) 1392 if (stream_texture_factory_.get() && stream_id_)
1392 stream_texture_factory_->EstablishPeer(stream_id_, player_id_); 1393 stream_texture_factory_->EstablishPeer(stream_id_, player_id_, frame_id_);
1393 1394
1394 // Set the deferred size because the size was changed in remote mode. 1395 // Set the deferred size because the size was changed in remote mode.
1395 if (!is_remote_ && cached_stream_texture_size_ != natural_size_) { 1396 if (!is_remote_ && cached_stream_texture_size_ != natural_size_) {
1396 stream_texture_factory_->SetStreamTextureSize( 1397 stream_texture_factory_->SetStreamTextureSize(
1397 stream_id_, gfx::Size(natural_size_.width, natural_size_.height)); 1398 stream_id_, gfx::Size(natural_size_.width, natural_size_.height));
1398 cached_stream_texture_size_ = natural_size_; 1399 cached_stream_texture_size_ = natural_size_;
1399 } 1400 }
1400 1401
1401 needs_establish_peer_ = false; 1402 needs_establish_peer_ = false;
1402 } 1403 }
(...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after
1921 1922
1922 bool is_hls = IsHLSStream(); 1923 bool is_hls = IsHLSStream();
1923 UMA_HISTOGRAM_BOOLEAN("Media.Android.IsHttpLiveStreamingMedia", is_hls); 1924 UMA_HISTOGRAM_BOOLEAN("Media.Android.IsHttpLiveStreamingMedia", is_hls);
1924 if (is_hls) { 1925 if (is_hls) {
1925 media::RecordOriginOfHLSPlayback( 1926 media::RecordOriginOfHLSPlayback(
1926 GURL(frame_->document().securityOrigin().toString())); 1927 GURL(frame_->document().securityOrigin().toString()));
1927 } 1928 }
1928 } 1929 }
1929 1930
1930 } // namespace content 1931 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698