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

Unified Diff: media/base/android/media_player_listener.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
« no previous file with comments | « media/base/android/media_player_listener.h ('k') | media/media.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/android/media_player_listener.cc
diff --git a/media/base/android/media_player_listener.cc b/media/base/android/media_player_listener.cc
new file mode 100644
index 0000000000000000000000000000000000000000..ea70a33101f9e987fff7ad357ded1b6c27843912
--- /dev/null
+++ b/media/base/android/media_player_listener.cc
@@ -0,0 +1,87 @@
+// 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 "media/base/android/media_player_listener.h"
+
+#include "base/android/jni_android.h"
+#include "base/bind.h"
+#include "base/logging.h"
+#include "base/message_loop_proxy.h"
+#include "media/base/android/media_player_bridge.h"
+
+// Auto generated jni class from MediaPlayerListener.java.
+// Check base/android/jni_generator/golden_sample_for_tests_jni.h for example.
+#include "jni/MediaPlayerListener_jni.h"
+
+using base::android::AttachCurrentThread;
+using base::android::CheckException;
+using base::android::ScopedJavaLocalRef;
+
+namespace media {
+
+MediaPlayerListener::MediaPlayerListener(
+ const scoped_refptr<base::MessageLoopProxy>& message_loop,
+ base::WeakPtr<MediaPlayerBridge> media_player)
+ : message_loop_(message_loop),
+ media_player_(media_player) {
+ DCHECK(message_loop_);
+ DCHECK(media_player_);
+}
+
+MediaPlayerListener::~MediaPlayerListener() {}
+
+ScopedJavaLocalRef<jobject> MediaPlayerListener::CreateMediaPlayerListener() {
+ JNIEnv* env = AttachCurrentThread();
+ CHECK(env);
+
+ ScopedJavaLocalRef<jobject> j_listener(
+ Java_MediaPlayerListener_create(env, reinterpret_cast<intptr_t>(this)));
+ DCHECK(!j_listener.is_null());
+ return j_listener;
+}
+
+void MediaPlayerListener::OnMediaError(
+ JNIEnv* /* env */, jobject /* obj */, jint error_type) {
+ message_loop_->PostTask(FROM_HERE, base::Bind(
+ &MediaPlayerBridge::OnMediaError, media_player_, error_type));
+}
+
+void MediaPlayerListener::OnVideoSizeChanged(
+ JNIEnv* /* env */, jobject /* obj */, jint width, jint height) {
+ message_loop_->PostTask(FROM_HERE, base::Bind(
+ &MediaPlayerBridge::OnVideoSizeChanged, media_player_,
+ width, height));
+}
+
+void MediaPlayerListener::OnBufferingUpdate(
+ JNIEnv* /* env */, jobject /* obj */, jint percent) {
+ message_loop_->PostTask(FROM_HERE, base::Bind(
+ &MediaPlayerBridge::OnBufferingUpdate, media_player_, percent));
+}
+
+void MediaPlayerListener::OnPlaybackComplete(
+ JNIEnv* /* env */, jobject /* obj */) {
+ message_loop_->PostTask(FROM_HERE, base::Bind(
+ &MediaPlayerBridge::OnPlaybackComplete, media_player_));
+}
+
+void MediaPlayerListener::OnSeekComplete(
+ JNIEnv* /* env */, jobject /* obj */) {
+ message_loop_->PostTask(FROM_HERE, base::Bind(
+ &MediaPlayerBridge::OnSeekComplete, media_player_));
+}
+
+void MediaPlayerListener::OnMediaPrepared(
+ JNIEnv* /* env */, jobject /* obj */) {
+ message_loop_->PostTask(FROM_HERE, base::Bind(
+ &MediaPlayerBridge::OnMediaPrepared, media_player_));
+}
+
+bool MediaPlayerListener::RegisterMediaPlayerListener(JNIEnv* env) {
+ bool ret = RegisterNativesImpl(env);
+ DCHECK(g_MediaPlayerListener_clazz);
+ return ret;
+}
+
+} // namespace media
« no previous file with comments | « media/base/android/media_player_listener.h ('k') | media/media.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698