| 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..51e84ba4a2268cd4ccd3a49611b25c3b6191042b 100644
|
| --- a/media/base/android/media_player_bridge.cc
|
| +++ b/media/base/android/media_player_bridge.cc
|
| @@ -328,34 +328,15 @@ void MediaPlayerBridge::GetMetadata() {
|
| JNIEnv* env = 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));
|
| + ScopedJavaLocalRef<jbooleanArray> boolean_array =
|
| + Java_MediaPlayerBridge_getMetadata(env, j_media_player_.obj());
|
| + jboolean* bools = env->GetBooleanArrayElements(boolean_array.obj(), NULL);
|
| CheckException(env);
|
| - if (j_metadata.is_null())
|
| - return;
|
|
|
| - 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];
|
| + env->ReleaseBooleanArrayElements(boolean_array.obj(), bools, JNI_ABORT);
|
| }
|
|
|
| void MediaPlayerBridge::StartInternal() {
|
|
|