Loading media/java/android/media/MediaPlayer2Impl.java +3 −49 Original line number Diff line number Diff line Loading @@ -798,11 +798,7 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { @Override public boolean setPreferredDevice(AudioDeviceInfo deviceInfo) { if (deviceInfo != null && !deviceInfo.isSink()) { return false; } int preferredDeviceId = deviceInfo != null ? deviceInfo.getId() : 0; boolean status = native_setOutputDevice(preferredDeviceId); boolean status = native_setPreferredDevice(deviceInfo); if (status == true) { synchronized (this) { mPreferredDevice = deviceInfo; Loading @@ -819,20 +815,7 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { } @Override public AudioDeviceInfo getRoutedDevice() { int deviceId = native_getRoutedDeviceId(); if (deviceId == 0) { return null; } AudioDeviceInfo[] devices = AudioManager.getDevicesStatic(AudioManager.GET_DEVICES_OUTPUTS); for (int i = 0; i < devices.length; i++) { if (devices[i].getId() == deviceId) { return devices[i]; } } return null; } public native AudioDeviceInfo getRoutedDevice(); @Override public void addOnRoutingChangedListener(AudioRouting.OnRoutingChangedListener listener, Loading @@ -852,8 +835,7 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { native_removeDeviceCallback(listener); } private native final boolean native_setOutputDevice(int deviceId); private native final int native_getRoutedDeviceId(); private native boolean native_setPreferredDevice(AudioDeviceInfo device); private native void native_addDeviceCallback(RoutingDelegate rd); private native void native_removeDeviceCallback( AudioRouting.OnRoutingChangedListener listener); Loading Loading @@ -2773,34 +2755,6 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { } // Called from the native side @SuppressWarnings("unused") private static boolean setAudioOutputDeviceById(AudioTrack track, int deviceId) { if (track == null) { return false; } if (deviceId == 0) { // Use default routing. track.setPreferredDevice(null); return true; } // TODO: Unhide AudioManager.getDevicesStatic. AudioDeviceInfo[] outputDevices = AudioManager.getDevicesStatic(AudioManager.GET_DEVICES_OUTPUTS); boolean success = false; for (AudioDeviceInfo device : outputDevices) { if (device.getId() == deviceId) { track.setPreferredDevice(device); success = true; break; } } return success; } // Instantiated from the native side @SuppressWarnings("unused") private static class StreamEventCallback extends AudioTrack.StreamEventCallback { Loading media/jni/android_media_MediaPlayer2.cpp +7 −7 Original line number Diff line number Diff line Loading @@ -1306,22 +1306,22 @@ static void android_media_MediaPlayer2_releaseDrm(JNIEnv *env, jobject thiz) ///////////////////////////////////////////////////////////////////////////////////// // AudioRouting begin static jboolean android_media_MediaPlayer2_setOutputDevice(JNIEnv *env, jobject thiz, jint device_id) static jboolean android_media_MediaPlayer2_setPreferredDevice(JNIEnv *env, jobject thiz, jobject device) { sp<MediaPlayer2> mp = getMediaPlayer(env, thiz); if (mp == NULL) { return false; } return mp->setOutputDevice(device_id) == NO_ERROR; return mp->setPreferredDevice(device) == NO_ERROR; } static jint android_media_MediaPlayer2_getRoutedDeviceId(JNIEnv *env, jobject thiz) static jobject android_media_MediaPlayer2_getRoutedDevice(JNIEnv *env, jobject thiz) { sp<MediaPlayer2> mp = getMediaPlayer(env, thiz); if (mp == NULL) { return AUDIO_PORT_HANDLE_NONE; return nullptr; } return mp->getRoutedDeviceId(); return mp->getRoutedDevice(); } static void android_media_MediaPlayer2_addDeviceCallback( Loading Loading @@ -1470,8 +1470,8 @@ static const JNINativeMethod gMethods[] = { { "_releaseDrm", "()V", (void *)android_media_MediaPlayer2_releaseDrm }, // AudioRouting {"native_setOutputDevice", "(I)Z", (void *)android_media_MediaPlayer2_setOutputDevice}, {"native_getRoutedDeviceId", "()I", (void *)android_media_MediaPlayer2_getRoutedDeviceId}, {"native_setPreferredDevice", "(Landroid/media/AudioDeviceInfo;)Z", (void *)android_media_MediaPlayer2_setPreferredDevice}, {"getRoutedDevice", "()Landroid/media/AudioDeviceInfo;", (void *)android_media_MediaPlayer2_getRoutedDevice}, {"native_addDeviceCallback", "(Landroid/media/RoutingDelegate;)V", (void *)android_media_MediaPlayer2_addDeviceCallback}, {"native_removeDeviceCallback", "(Landroid/media/AudioRouting$OnRoutingChangedListener;)V", (void *)android_media_MediaPlayer2_removeDeviceCallback}, Loading Loading
media/java/android/media/MediaPlayer2Impl.java +3 −49 Original line number Diff line number Diff line Loading @@ -798,11 +798,7 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { @Override public boolean setPreferredDevice(AudioDeviceInfo deviceInfo) { if (deviceInfo != null && !deviceInfo.isSink()) { return false; } int preferredDeviceId = deviceInfo != null ? deviceInfo.getId() : 0; boolean status = native_setOutputDevice(preferredDeviceId); boolean status = native_setPreferredDevice(deviceInfo); if (status == true) { synchronized (this) { mPreferredDevice = deviceInfo; Loading @@ -819,20 +815,7 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { } @Override public AudioDeviceInfo getRoutedDevice() { int deviceId = native_getRoutedDeviceId(); if (deviceId == 0) { return null; } AudioDeviceInfo[] devices = AudioManager.getDevicesStatic(AudioManager.GET_DEVICES_OUTPUTS); for (int i = 0; i < devices.length; i++) { if (devices[i].getId() == deviceId) { return devices[i]; } } return null; } public native AudioDeviceInfo getRoutedDevice(); @Override public void addOnRoutingChangedListener(AudioRouting.OnRoutingChangedListener listener, Loading @@ -852,8 +835,7 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { native_removeDeviceCallback(listener); } private native final boolean native_setOutputDevice(int deviceId); private native final int native_getRoutedDeviceId(); private native boolean native_setPreferredDevice(AudioDeviceInfo device); private native void native_addDeviceCallback(RoutingDelegate rd); private native void native_removeDeviceCallback( AudioRouting.OnRoutingChangedListener listener); Loading Loading @@ -2773,34 +2755,6 @@ public final class MediaPlayer2Impl extends MediaPlayer2 { } // Called from the native side @SuppressWarnings("unused") private static boolean setAudioOutputDeviceById(AudioTrack track, int deviceId) { if (track == null) { return false; } if (deviceId == 0) { // Use default routing. track.setPreferredDevice(null); return true; } // TODO: Unhide AudioManager.getDevicesStatic. AudioDeviceInfo[] outputDevices = AudioManager.getDevicesStatic(AudioManager.GET_DEVICES_OUTPUTS); boolean success = false; for (AudioDeviceInfo device : outputDevices) { if (device.getId() == deviceId) { track.setPreferredDevice(device); success = true; break; } } return success; } // Instantiated from the native side @SuppressWarnings("unused") private static class StreamEventCallback extends AudioTrack.StreamEventCallback { Loading
media/jni/android_media_MediaPlayer2.cpp +7 −7 Original line number Diff line number Diff line Loading @@ -1306,22 +1306,22 @@ static void android_media_MediaPlayer2_releaseDrm(JNIEnv *env, jobject thiz) ///////////////////////////////////////////////////////////////////////////////////// // AudioRouting begin static jboolean android_media_MediaPlayer2_setOutputDevice(JNIEnv *env, jobject thiz, jint device_id) static jboolean android_media_MediaPlayer2_setPreferredDevice(JNIEnv *env, jobject thiz, jobject device) { sp<MediaPlayer2> mp = getMediaPlayer(env, thiz); if (mp == NULL) { return false; } return mp->setOutputDevice(device_id) == NO_ERROR; return mp->setPreferredDevice(device) == NO_ERROR; } static jint android_media_MediaPlayer2_getRoutedDeviceId(JNIEnv *env, jobject thiz) static jobject android_media_MediaPlayer2_getRoutedDevice(JNIEnv *env, jobject thiz) { sp<MediaPlayer2> mp = getMediaPlayer(env, thiz); if (mp == NULL) { return AUDIO_PORT_HANDLE_NONE; return nullptr; } return mp->getRoutedDeviceId(); return mp->getRoutedDevice(); } static void android_media_MediaPlayer2_addDeviceCallback( Loading Loading @@ -1470,8 +1470,8 @@ static const JNINativeMethod gMethods[] = { { "_releaseDrm", "()V", (void *)android_media_MediaPlayer2_releaseDrm }, // AudioRouting {"native_setOutputDevice", "(I)Z", (void *)android_media_MediaPlayer2_setOutputDevice}, {"native_getRoutedDeviceId", "()I", (void *)android_media_MediaPlayer2_getRoutedDeviceId}, {"native_setPreferredDevice", "(Landroid/media/AudioDeviceInfo;)Z", (void *)android_media_MediaPlayer2_setPreferredDevice}, {"getRoutedDevice", "()Landroid/media/AudioDeviceInfo;", (void *)android_media_MediaPlayer2_getRoutedDevice}, {"native_addDeviceCallback", "(Landroid/media/RoutingDelegate;)V", (void *)android_media_MediaPlayer2_addDeviceCallback}, {"native_removeDeviceCallback", "(Landroid/media/AudioRouting$OnRoutingChangedListener;)V", (void *)android_media_MediaPlayer2_removeDeviceCallback}, Loading