diff --git a/media/java/android/media/MediaPlayer2Impl.java b/media/java/android/media/MediaPlayer2Impl.java index 84d246f50ee3a..076a669b9a863 100644 --- a/media/java/android/media/MediaPlayer2Impl.java +++ b/media/java/android/media/MediaPlayer2Impl.java @@ -36,8 +36,6 @@ import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.Message; -import android.os.Parcel; -import android.os.Parcelable; import android.os.PersistableBundle; import android.os.PowerManager; import android.os.Process; @@ -335,19 +333,14 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { final String msg = "Cannot set AudioAttributes to null"; throw new IllegalArgumentException(msg); } - Parcel pattributes = Parcel.obtain(); - attributes.writeToParcel(pattributes, AudioAttributes.FLATTEN_TAGS); - setParameter(KEY_PARAMETER_AUDIO_ATTRIBUTES, pattributes); - pattributes.recycle(); + setParameter(KEY_PARAMETER_AUDIO_ATTRIBUTES, attributes); } }); } @Override public @NonNull AudioAttributes getAudioAttributes() { - Parcel pattributes = getParameter(KEY_PARAMETER_AUDIO_ATTRIBUTES); - AudioAttributes attributes = AudioAttributes.CREATOR.createFromParcel(pattributes); - pattributes.recycle(); + AudioAttributes attributes = (AudioAttributes) getParameter(KEY_PARAMETER_AUDIO_ATTRIBUTES); return attributes; } @@ -1588,9 +1581,9 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { * @param value value of the parameter to be set. * @return true if the parameter is set successfully, false otherwise */ - private native boolean setParameter(int key, Parcel value); + private native boolean setParameter(int key, Object value); - private native Parcel getParameter(int key); + private native Object getParameter(int key); /** @@ -3689,7 +3682,7 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { supportedSchemes[i]); } - Log.v(TAG, "DrmInfoImpl() Parcel psshsize: " + pssh.length + + Log.v(TAG, "DrmInfoImpl() psshsize: " + pssh.length + " supportedDRMsCount: " + supportedDRMsCount); } diff --git a/media/jni/android_media_MediaPlayer2.cpp b/media/jni/android_media_MediaPlayer2.cpp index 1a844cc678c6a..693a3d0b23df0 100644 --- a/media/jni/android_media_MediaPlayer2.cpp +++ b/media/jni/android_media_MediaPlayer2.cpp @@ -1490,8 +1490,8 @@ static const JNINativeMethod gMethods[] = { {"_release", "()V", (void *)android_media_MediaPlayer2_release}, {"_reset", "()V", (void *)android_media_MediaPlayer2_reset}, {"_getAudioStreamType", "()I", (void *)android_media_MediaPlayer2_getAudioStreamType}, - {"setParameter", "(ILandroid/os/Parcel;)Z", (void *)android_media_MediaPlayer2_setParameter}, - {"getParameter", "(I)Landroid/os/Parcel;", (void *)android_media_MediaPlayer2_getParameter}, + {"setParameter", "(ILjava/lang/Object;)Z", (void *)android_media_MediaPlayer2_setParameter}, + {"getParameter", "(I)Ljava/lang/Object;", (void *)android_media_MediaPlayer2_getParameter}, {"setLooping", "(Z)V", (void *)android_media_MediaPlayer2_setLooping}, {"isLooping", "()Z", (void *)android_media_MediaPlayer2_isLooping}, {"_setVolume", "(FF)V", (void *)android_media_MediaPlayer2_setVolume},