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

Unified Diff: media/base/android/media_player_bridge.cc

Issue 12625005: remove call to get android MediaPlayer class (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove useless . line Created 7 years, 9 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: media/base/android/media_player_bridge.cc
diff --git a/media/base/android/media_player_bridge.cc b/media/base/android/media_player_bridge.cc
index 4ebde7dfbe42e12aeb1fe0d1f434d067d5642cc0..d4564d401b6425d11d6f62ff4afb22a5a5f207b2 100644
--- a/media/base/android/media_player_bridge.cc
+++ b/media/base/android/media_player_bridge.cc
@@ -15,20 +15,9 @@
#include "media/base/android/cookie_getter.h"
#include "media/base/android/media_player_bridge_manager.h"
-using base::android::AttachCurrentThread;
-using base::android::CheckException;
using base::android::ConvertUTF8ToJavaString;
-using base::android::GetClass;
-using base::android::JavaRef;
-using base::android::MethodID;
using base::android::ScopedJavaLocalRef;
-// These constants are from the android source tree and need to be kept in
-// sync with android/media/MediaMetadata.java.
-static const jint kPauseAvailable = 1;
-static const jint kSeekBackwardAvailable = 2;
-static const jint kSeekForwardAvailable = 3;
-
// Time update happens every 250ms.
static const int kTimeUpdateInterval = 250;
@@ -90,7 +79,7 @@ MediaPlayerBridge::~MediaPlayerBridge() {
}
void MediaPlayerBridge::InitializePlayer() {
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
CHECK(env);
j_media_player_.Reset(JNI_MediaPlayer::Java_MediaPlayer_Constructor(env));
@@ -105,7 +94,7 @@ void MediaPlayerBridge::SetVideoSurface(jobject surface) {
if (j_media_player_.is_null() && surface != NULL)
Prepare();
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
CHECK(env);
JNI_MediaPlayer::Java_MediaPlayer_setSurface(
@@ -130,7 +119,7 @@ void MediaPlayerBridge::GetCookiesCallback(const std::string& cookies) {
if (j_media_player_.is_null())
return;
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
CHECK(env);
// Create a Java String for the URL.
@@ -180,7 +169,7 @@ bool MediaPlayerBridge::IsPlaying() {
if (!prepared_)
return pending_play_;
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
CHECK(env);
jboolean result = JNI_MediaPlayer::Java_MediaPlayer_isPlaying(
env, j_media_player_.obj());
@@ -190,7 +179,7 @@ bool MediaPlayerBridge::IsPlaying() {
int MediaPlayerBridge::GetVideoWidth() {
if (!prepared_)
return width_;
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
return JNI_MediaPlayer::Java_MediaPlayer_getVideoWidth(
env, j_media_player_.obj());
}
@@ -198,7 +187,7 @@ int MediaPlayerBridge::GetVideoWidth() {
int MediaPlayerBridge::GetVideoHeight() {
if (!prepared_)
return height_;
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
return JNI_MediaPlayer::Java_MediaPlayer_getVideoHeight(
env, j_media_player_.obj());
}
@@ -216,7 +205,7 @@ void MediaPlayerBridge::SeekTo(base::TimeDelta time) {
base::TimeDelta MediaPlayerBridge::GetCurrentTime() {
if (!prepared_)
return pending_seek_;
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
return base::TimeDelta::FromMilliseconds(
JNI_MediaPlayer::Java_MediaPlayer_getCurrentPosition(
env, j_media_player_.obj()));
@@ -225,7 +214,7 @@ base::TimeDelta MediaPlayerBridge::GetCurrentTime() {
base::TimeDelta MediaPlayerBridge::GetDuration() {
if (!prepared_)
return duration_;
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
return base::TimeDelta::FromMilliseconds(
JNI_MediaPlayer::Java_MediaPlayer_getDuration(
env, j_media_player_.obj()));
@@ -244,7 +233,7 @@ void MediaPlayerBridge::Release() {
pending_play_ = false;
SetVideoSurface(NULL);
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
JNI_MediaPlayer::Java_MediaPlayer_release(env, j_media_player_.obj());
j_media_player_.Reset();
@@ -255,7 +244,7 @@ void MediaPlayerBridge::SetVolume(float left_volume, float right_volume) {
if (j_media_player_.is_null())
return;
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
CHECK(env);
JNI_MediaPlayer::Java_MediaPlayer_setVolume(
env, j_media_player_.obj(), left_volume, right_volume);
@@ -325,41 +314,22 @@ void MediaPlayerBridge::OnMediaPrepared() {
}
void MediaPlayerBridge::GetMetadata() {
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
CHECK(env);
- ScopedJavaLocalRef<jclass> media_player_class(
- GetClass(env, "android/media/MediaPlayer"));
- jmethodID method = MethodID::Get<MethodID::TYPE_INSTANCE>(
- env, media_player_class.obj(), "getMetadata",
- "(ZZ)Landroid/media/Metadata;");
- ScopedJavaLocalRef<jobject> j_metadata(
- env, env->CallObjectMethod(
- j_media_player_.obj(), method, JNI_FALSE, JNI_FALSE));
- CheckException(env);
- if (j_metadata.is_null())
- return;
+ ScopedJavaLocalRef<jbooleanArray> boolean_array =
+ Java_MediaPlayerBridge_getMetadata(env, j_media_player_.obj());
+ jboolean* bools = env->GetBooleanArrayElements(boolean_array.obj(), NULL);
+ base::android::CheckException(env);
- ScopedJavaLocalRef<jclass> metadata_class(
- GetClass(env, "android/media/Metadata"));
- jmethodID get_boolean = MethodID::Get<MethodID::TYPE_INSTANCE>(
- env, metadata_class.obj(), "getBoolean", "(I)Z");
- can_pause_ = env->CallBooleanMethod(j_metadata.obj(),
- get_boolean,
- kPauseAvailable);
- CheckException(env);
- can_seek_forward_ = env->CallBooleanMethod(j_metadata.obj(),
- get_boolean,
- kSeekBackwardAvailable);
- CheckException(env);
- can_seek_backward_ = env->CallBooleanMethod(j_metadata.obj(),
- get_boolean,
- kSeekForwardAvailable);
- CheckException(env);
+ can_pause_ = bools[0];
+ can_seek_forward_ = bools[1];
+ can_seek_backward_ = bools[2];
bulach 2013/03/13 15:06:10 yeah, here it'd be clearer to just: ScopedJavaLoc
qinmin 2013/03/13 18:26:58 Done.
+ env->ReleaseBooleanArrayElements(boolean_array.obj(), bools, JNI_ABORT);
}
void MediaPlayerBridge::StartInternal() {
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
JNI_MediaPlayer::Java_MediaPlayer_start(env, j_media_player_.obj());
if (!time_update_timer_.IsRunning()) {
time_update_timer_.Start(
@@ -370,13 +340,13 @@ void MediaPlayerBridge::StartInternal() {
}
void MediaPlayerBridge::PauseInternal() {
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
JNI_MediaPlayer::Java_MediaPlayer_pause(env, j_media_player_.obj());
time_update_timer_.Stop();
}
void MediaPlayerBridge::SeekInternal(base::TimeDelta time) {
- JNIEnv* env = AttachCurrentThread();
+ JNIEnv* env = base::android::AttachCurrentThread();
CHECK(env);
int time_msec = static_cast<int>(time.InMilliseconds());

Powered by Google App Engine
This is Rietveld 408576698