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

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

Issue 23875003: Merge 219225 "Run |demuxer_| related tasks in the media thread i..." (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1599/src/
Patch Set: Created 7 years, 3 months 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 | Annotate | Revision Log
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 "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 #define BIND_TO_RENDER_LOOP(function) \ 58 #define BIND_TO_RENDER_LOOP(function) \
59 media::BindToLoop(main_loop_, base::Bind(function, AsWeakPtr())) 59 media::BindToLoop(main_loop_, base::Bind(function, AsWeakPtr()))
60 60
61 WebMediaPlayerAndroid::WebMediaPlayerAndroid( 61 WebMediaPlayerAndroid::WebMediaPlayerAndroid(
62 WebKit::WebFrame* frame, 62 WebKit::WebFrame* frame,
63 WebKit::WebMediaPlayerClient* client, 63 WebKit::WebMediaPlayerClient* client,
64 base::WeakPtr<WebMediaPlayerDelegate> delegate, 64 base::WeakPtr<WebMediaPlayerDelegate> delegate,
65 RendererMediaPlayerManager* manager, 65 RendererMediaPlayerManager* manager,
66 WebMediaPlayerProxyAndroid* proxy, 66 WebMediaPlayerProxyAndroid* proxy,
67 StreamTextureFactory* factory, 67 StreamTextureFactory* factory,
68 const scoped_refptr<base::MessageLoopProxy>& media_loop,
68 media::MediaLog* media_log) 69 media::MediaLog* media_log)
69 : frame_(frame), 70 : frame_(frame),
70 client_(client), 71 client_(client),
71 delegate_(delegate), 72 delegate_(delegate),
72 buffered_(1u), 73 buffered_(1u),
73 main_loop_(base::MessageLoopProxy::current()), 74 main_loop_(base::MessageLoopProxy::current()),
75 media_loop_(media_loop),
74 ignore_metadata_duration_change_(false), 76 ignore_metadata_duration_change_(false),
75 pending_seek_(0), 77 pending_seek_(0),
76 seeking_(false), 78 seeking_(false),
77 did_loading_progress_(false), 79 did_loading_progress_(false),
78 manager_(manager), 80 manager_(manager),
79 network_state_(WebMediaPlayer::NetworkStateEmpty), 81 network_state_(WebMediaPlayer::NetworkStateEmpty),
80 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), 82 ready_state_(WebMediaPlayer::ReadyStateHaveNothing),
81 texture_id_(0), 83 texture_id_(0),
82 texture_mailbox_sync_point_(0), 84 texture_mailbox_sync_point_(0),
83 stream_id_(0), 85 stream_id_(0),
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 217
216 media::SetDecryptorReadyCB set_decryptor_ready_cb; 218 media::SetDecryptorReadyCB set_decryptor_ready_cb;
217 if (decryptor_) { // |decryptor_| can be NULL is EME if not enabled. 219 if (decryptor_) { // |decryptor_| can be NULL is EME if not enabled.
218 set_decryptor_ready_cb = base::Bind(&ProxyDecryptor::SetDecryptorReadyCB, 220 set_decryptor_ready_cb = base::Bind(&ProxyDecryptor::SetDecryptorReadyCB,
219 base::Unretained(decryptor_.get())); 221 base::Unretained(decryptor_.get()));
220 } 222 }
221 223
222 if (source_type_ != MediaPlayerAndroid::SOURCE_TYPE_URL) { 224 if (source_type_ != MediaPlayerAndroid::SOURCE_TYPE_URL) {
223 has_media_info_ = true; 225 has_media_info_ = true;
224 media_source_delegate_.reset( 226 media_source_delegate_.reset(
225 new MediaSourceDelegate(proxy_, player_id_, media_log_)); 227 new MediaSourceDelegate(proxy_, player_id_, media_loop_, media_log_));
226 // |media_source_delegate_| is owned, so Unretained() is safe here. 228 // |media_source_delegate_| is owned, so Unretained() is safe here.
227 if (source_type_ == MediaPlayerAndroid::SOURCE_TYPE_MSE) { 229 if (source_type_ == MediaPlayerAndroid::SOURCE_TYPE_MSE) {
228 media_source_delegate_->InitializeMediaSource( 230 media_source_delegate_->InitializeMediaSource(
229 media_source, 231 media_source,
230 base::Bind(&WebMediaPlayerAndroid::OnNeedKey, base::Unretained(this)), 232 base::Bind(&WebMediaPlayerAndroid::OnNeedKey, base::Unretained(this)),
231 set_decryptor_ready_cb, 233 set_decryptor_ready_cb,
232 base::Bind(&WebMediaPlayerAndroid::UpdateNetworkState, 234 base::Bind(&WebMediaPlayerAndroid::UpdateNetworkState,
233 base::Unretained(this)), 235 base::Unretained(this)),
234 BIND_TO_RENDER_LOOP(&WebMediaPlayerAndroid::OnDurationChange)); 236 BIND_TO_RENDER_LOOP(&WebMediaPlayerAndroid::OnDurationChange));
235 } 237 }
(...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after
1164 1166
1165 void WebMediaPlayerAndroid::exitFullscreen() { 1167 void WebMediaPlayerAndroid::exitFullscreen() {
1166 proxy_->ExitFullscreen(player_id_); 1168 proxy_->ExitFullscreen(player_id_);
1167 } 1169 }
1168 1170
1169 bool WebMediaPlayerAndroid::canEnterFullscreen() const { 1171 bool WebMediaPlayerAndroid::canEnterFullscreen() const {
1170 return manager_->CanEnterFullscreen(frame_); 1172 return manager_->CanEnterFullscreen(frame_);
1171 } 1173 }
1172 1174
1173 } // namespace content 1175 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698