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

Unified Diff: webkit/media/android/webmediaplayer_impl_android.cc

Issue 10919075: Move android mediaplayer from render process to browser process. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressing comments and resolving merge conflicts Created 8 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 side-by-side diff with in-line comments
Download patch
Index: webkit/media/android/webmediaplayer_impl_android.cc
diff --git a/webkit/media/android/webmediaplayer_impl_android.cc b/webkit/media/android/webmediaplayer_impl_android.cc
new file mode 100644
index 0000000000000000000000000000000000000000..e38d1f29cec144bfef8711e827c8f9658484c18f
--- /dev/null
+++ b/webkit/media/android/webmediaplayer_impl_android.cc
@@ -0,0 +1,83 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "webkit/media/android/webmediaplayer_impl_android.h"
+
+#include "base/bind.h"
+#include "base/logging.h"
+#include "media/base/android/media_player_bridge.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerClient.h"
+#include "webkit/media/android/stream_texture_factory_android.h"
+#include "webkit/media/android/webmediaplayer_manager_android.h"
+#include "webkit/media/android/webmediaplayer_proxy_android.h"
+
+using WebKit::WebMediaPlayerClient;
+using WebKit::WebMediaPlayer;
+
+namespace webkit_media {
+
+WebMediaPlayerImplAndroid::WebMediaPlayerImplAndroid(
+ WebKit::WebFrame* frame,
+ WebMediaPlayerClient* client,
+ WebMediaPlayerManagerAndroid* manager,
+ WebMediaPlayerProxyAndroid* proxy,
+ StreamTextureFactory* factory)
+ : WebMediaPlayerAndroid(client, manager, factory),
+ frame_(frame),
+ proxy_(proxy),
+ current_time_(0) {
+}
+
+WebMediaPlayerImplAndroid::~WebMediaPlayerImplAndroid() {
+ Destroy();
+}
+
+void WebMediaPlayerImplAndroid::InitializeMediaPlayer(GURL url) {
+ GURL first_party_url = frame_->document().firstPartyForCookies();
+ if (proxy_) {
+ proxy_->Initialize(player_id(), url.spec(), first_party_url.spec());
+ }
+
+ UpdateNetworkState(WebMediaPlayer::NetworkStateLoading);
+ UpdateReadyState(WebMediaPlayer::ReadyStateHaveNothing);
+}
+
+void WebMediaPlayerImplAndroid::PlayInternal() {
+ if (paused() && proxy_)
+ proxy_->Start(player_id());
+}
+
+void WebMediaPlayerImplAndroid::PauseInternal() {
+ if (proxy_)
+ proxy_->Pause(player_id());
+}
+
+void WebMediaPlayerImplAndroid::SeekInternal(base::TimeDelta time) {
+ if (proxy_)
+ proxy_->Seek(player_id(), time);
+}
+
+float WebMediaPlayerImplAndroid::GetCurrentTimeInternal() const {
+ return current_time_;
+}
+
+void WebMediaPlayerImplAndroid::ReleaseResourcesInternal() {
+ if (proxy_)
+ proxy_->ReleaseResources(player_id());
+}
+
+void WebMediaPlayerImplAndroid::OnTimeUpdate(base::TimeDelta current_time) {
+ current_time_ = static_cast<float>(current_time.InSecondsF());
+}
+
+void WebMediaPlayerImplAndroid::Destroy() {
+ proxy_->DestroyPlayer(player_id());
+ proxy_ = NULL;
+}
+
+void WebMediaPlayerImplAndroid::SetVideoSurface(jobject j_surface) {}
+
+} // namespace webkit_media
« no previous file with comments | « webkit/media/android/webmediaplayer_impl_android.h ('k') | webkit/media/android/webmediaplayer_in_process_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698