Loading core/jni/android_media_AudioSystem.cpp +19 −6 Original line number Diff line number Diff line Loading @@ -183,16 +183,29 @@ android_media_AudioSystem_initStreamVolume(JNIEnv *env, jobject thiz, jint strea } static int android_media_AudioSystem_setStreamVolumeIndex(JNIEnv *env, jobject thiz, jint stream, jint index) android_media_AudioSystem_setStreamVolumeIndex(JNIEnv *env, jobject thiz, jint stream, jint index, jint device) { return check_AudioSystem_Command(AudioSystem::setStreamVolumeIndex(static_cast <audio_stream_type_t>(stream), index)); return check_AudioSystem_Command( AudioSystem::setStreamVolumeIndex(static_cast <audio_stream_type_t>(stream), index, (audio_devices_t)device)); } static int android_media_AudioSystem_getStreamVolumeIndex(JNIEnv *env, jobject thiz, jint stream) android_media_AudioSystem_getStreamVolumeIndex(JNIEnv *env, jobject thiz, jint stream, jint device) { int index; if (AudioSystem::getStreamVolumeIndex(static_cast <audio_stream_type_t>(stream), &index) != NO_ERROR) { if (AudioSystem::getStreamVolumeIndex(static_cast <audio_stream_type_t>(stream), &index, (audio_devices_t)device) != NO_ERROR) { index = -1; } return index; Loading @@ -219,8 +232,8 @@ static JNINativeMethod gMethods[] = { {"setForceUse", "(II)I", (void *)android_media_AudioSystem_setForceUse}, {"getForceUse", "(I)I", (void *)android_media_AudioSystem_getForceUse}, {"initStreamVolume", "(III)I", (void *)android_media_AudioSystem_initStreamVolume}, {"setStreamVolumeIndex","(II)I", (void *)android_media_AudioSystem_setStreamVolumeIndex}, {"getStreamVolumeIndex","(I)I", (void *)android_media_AudioSystem_getStreamVolumeIndex}, {"setStreamVolumeIndex","(III)I", (void *)android_media_AudioSystem_setStreamVolumeIndex}, {"getStreamVolumeIndex","(II)I", (void *)android_media_AudioSystem_getStreamVolumeIndex}, {"getDevicesForStream", "(I)I", (void *)android_media_AudioSystem_getDevicesForStream}, }; Loading include/media/AudioSystem.h +6 −2 Original line number Diff line number Diff line Loading @@ -170,8 +170,12 @@ public: static status_t initStreamVolume(audio_stream_type_t stream, int indexMin, int indexMax); static status_t setStreamVolumeIndex(audio_stream_type_t stream, int index); static status_t getStreamVolumeIndex(audio_stream_type_t stream, int *index); static status_t setStreamVolumeIndex(audio_stream_type_t stream, int index, audio_devices_t device); static status_t getStreamVolumeIndex(audio_stream_type_t stream, int *index, audio_devices_t device); static uint32_t getStrategyForStream(audio_stream_type_t stream); static uint32_t getDevicesForStream(audio_stream_type_t stream); Loading include/media/IAudioPolicyService.h +6 −2 Original line number Diff line number Diff line Loading @@ -73,8 +73,12 @@ public: virtual status_t initStreamVolume(audio_stream_type_t stream, int indexMin, int indexMax) = 0; virtual status_t setStreamVolumeIndex(audio_stream_type_t stream, int index) = 0; virtual status_t getStreamVolumeIndex(audio_stream_type_t stream, int *index) = 0; virtual status_t setStreamVolumeIndex(audio_stream_type_t stream, int index, audio_devices_t device) = 0; virtual status_t getStreamVolumeIndex(audio_stream_type_t stream, int *index, audio_devices_t device) = 0; virtual uint32_t getStrategyForStream(audio_stream_type_t stream) = 0; virtual uint32_t getDevicesForStream(audio_stream_type_t stream) = 0; virtual audio_io_handle_t getOutputForEffect(effect_descriptor_t *desc) = 0; Loading media/java/android/media/AudioService.java +272 −117 File changed.Preview size limit exceeded, changes collapsed. Show changes media/java/android/media/AudioSystem.java +68 −2 Original line number Diff line number Diff line Loading @@ -183,6 +183,7 @@ public class AudioSystem } } /* * AudioPolicyService methods */ Loading @@ -202,6 +203,23 @@ public class AudioSystem public static final int DEVICE_OUT_ANLG_DOCK_HEADSET = 0x800; public static final int DEVICE_OUT_DGTL_DOCK_HEADSET = 0x1000; public static final int DEVICE_OUT_DEFAULT = 0x8000; public static final int DEVICE_OUT_ALL = (DEVICE_OUT_EARPIECE | DEVICE_OUT_SPEAKER | DEVICE_OUT_WIRED_HEADSET | DEVICE_OUT_WIRED_HEADPHONE | DEVICE_OUT_BLUETOOTH_SCO | DEVICE_OUT_BLUETOOTH_SCO_HEADSET | DEVICE_OUT_BLUETOOTH_SCO_CARKIT | DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES | DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER | DEVICE_OUT_AUX_DIGITAL | DEVICE_OUT_ANLG_DOCK_HEADSET | DEVICE_OUT_DGTL_DOCK_HEADSET | DEVICE_OUT_DEFAULT); public static final int DEVICE_OUT_ALL_A2DP = (DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES | DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER); // input devices public static final int DEVICE_IN_COMMUNICATION = 0x10000; public static final int DEVICE_IN_AMBIENT = 0x20000; Loading @@ -218,6 +236,54 @@ public class AudioSystem public static final int DEVICE_STATE_AVAILABLE = 1; private static final int NUM_DEVICE_STATES = 1; public static final String DEVICE_OUT_EARPIECE_NAME = "earpiece"; public static final String DEVICE_OUT_SPEAKER_NAME = "speaker"; public static final String DEVICE_OUT_WIRED_HEADSET_NAME = "headset"; public static final String DEVICE_OUT_WIRED_HEADPHONE_NAME = "headphone"; public static final String DEVICE_OUT_BLUETOOTH_SCO_NAME = "bt_sco"; public static final String DEVICE_OUT_BLUETOOTH_SCO_HEADSET_NAME = "bt_sco_hs"; public static final String DEVICE_OUT_BLUETOOTH_SCO_CARKIT_NAME = "bt_sco_carkit"; public static final String DEVICE_OUT_BLUETOOTH_A2DP_NAME = "bt_a2dp"; public static final String DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES_NAME = "bt_a2dp_hp"; public static final String DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER_NAME = "bt_a2dp_spk"; public static final String DEVICE_OUT_AUX_DIGITAL_NAME = "aux_digital"; public static final String DEVICE_OUT_ANLG_DOCK_HEADSET_NAME = "analog_dock"; public static final String DEVICE_OUT_DGTL_DOCK_HEADSET_NAME = "digital_dock"; public static String getDeviceName(int device) { switch(device) { case DEVICE_OUT_EARPIECE: return DEVICE_OUT_EARPIECE_NAME; case DEVICE_OUT_SPEAKER: return DEVICE_OUT_SPEAKER_NAME; case DEVICE_OUT_WIRED_HEADSET: return DEVICE_OUT_WIRED_HEADSET_NAME; case DEVICE_OUT_WIRED_HEADPHONE: return DEVICE_OUT_WIRED_HEADPHONE_NAME; case DEVICE_OUT_BLUETOOTH_SCO: return DEVICE_OUT_BLUETOOTH_SCO_NAME; case DEVICE_OUT_BLUETOOTH_SCO_HEADSET: return DEVICE_OUT_BLUETOOTH_SCO_HEADSET_NAME; case DEVICE_OUT_BLUETOOTH_SCO_CARKIT: return DEVICE_OUT_BLUETOOTH_SCO_CARKIT_NAME; case DEVICE_OUT_BLUETOOTH_A2DP: return DEVICE_OUT_BLUETOOTH_A2DP_NAME; case DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES: return DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES_NAME; case DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER: return DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER_NAME; case DEVICE_OUT_AUX_DIGITAL: return DEVICE_OUT_AUX_DIGITAL_NAME; case DEVICE_OUT_ANLG_DOCK_HEADSET: return DEVICE_OUT_ANLG_DOCK_HEADSET_NAME; case DEVICE_OUT_DGTL_DOCK_HEADSET: return DEVICE_OUT_DGTL_DOCK_HEADSET_NAME; default: return ""; } } // phone state, match audio_mode??? public static final int PHONE_STATE_OFFCALL = 0; public static final int PHONE_STATE_RINGING = 1; Loading Loading @@ -251,7 +317,7 @@ public class AudioSystem public static native int setForceUse(int usage, int config); public static native int getForceUse(int usage); public static native int initStreamVolume(int stream, int indexMin, int indexMax); public static native int setStreamVolumeIndex(int stream, int index); public static native int getStreamVolumeIndex(int stream); public static native int setStreamVolumeIndex(int stream, int index, int device); public static native int getStreamVolumeIndex(int stream, int device); public static native int getDevicesForStream(int stream); } Loading
core/jni/android_media_AudioSystem.cpp +19 −6 Original line number Diff line number Diff line Loading @@ -183,16 +183,29 @@ android_media_AudioSystem_initStreamVolume(JNIEnv *env, jobject thiz, jint strea } static int android_media_AudioSystem_setStreamVolumeIndex(JNIEnv *env, jobject thiz, jint stream, jint index) android_media_AudioSystem_setStreamVolumeIndex(JNIEnv *env, jobject thiz, jint stream, jint index, jint device) { return check_AudioSystem_Command(AudioSystem::setStreamVolumeIndex(static_cast <audio_stream_type_t>(stream), index)); return check_AudioSystem_Command( AudioSystem::setStreamVolumeIndex(static_cast <audio_stream_type_t>(stream), index, (audio_devices_t)device)); } static int android_media_AudioSystem_getStreamVolumeIndex(JNIEnv *env, jobject thiz, jint stream) android_media_AudioSystem_getStreamVolumeIndex(JNIEnv *env, jobject thiz, jint stream, jint device) { int index; if (AudioSystem::getStreamVolumeIndex(static_cast <audio_stream_type_t>(stream), &index) != NO_ERROR) { if (AudioSystem::getStreamVolumeIndex(static_cast <audio_stream_type_t>(stream), &index, (audio_devices_t)device) != NO_ERROR) { index = -1; } return index; Loading @@ -219,8 +232,8 @@ static JNINativeMethod gMethods[] = { {"setForceUse", "(II)I", (void *)android_media_AudioSystem_setForceUse}, {"getForceUse", "(I)I", (void *)android_media_AudioSystem_getForceUse}, {"initStreamVolume", "(III)I", (void *)android_media_AudioSystem_initStreamVolume}, {"setStreamVolumeIndex","(II)I", (void *)android_media_AudioSystem_setStreamVolumeIndex}, {"getStreamVolumeIndex","(I)I", (void *)android_media_AudioSystem_getStreamVolumeIndex}, {"setStreamVolumeIndex","(III)I", (void *)android_media_AudioSystem_setStreamVolumeIndex}, {"getStreamVolumeIndex","(II)I", (void *)android_media_AudioSystem_getStreamVolumeIndex}, {"getDevicesForStream", "(I)I", (void *)android_media_AudioSystem_getDevicesForStream}, }; Loading
include/media/AudioSystem.h +6 −2 Original line number Diff line number Diff line Loading @@ -170,8 +170,12 @@ public: static status_t initStreamVolume(audio_stream_type_t stream, int indexMin, int indexMax); static status_t setStreamVolumeIndex(audio_stream_type_t stream, int index); static status_t getStreamVolumeIndex(audio_stream_type_t stream, int *index); static status_t setStreamVolumeIndex(audio_stream_type_t stream, int index, audio_devices_t device); static status_t getStreamVolumeIndex(audio_stream_type_t stream, int *index, audio_devices_t device); static uint32_t getStrategyForStream(audio_stream_type_t stream); static uint32_t getDevicesForStream(audio_stream_type_t stream); Loading
include/media/IAudioPolicyService.h +6 −2 Original line number Diff line number Diff line Loading @@ -73,8 +73,12 @@ public: virtual status_t initStreamVolume(audio_stream_type_t stream, int indexMin, int indexMax) = 0; virtual status_t setStreamVolumeIndex(audio_stream_type_t stream, int index) = 0; virtual status_t getStreamVolumeIndex(audio_stream_type_t stream, int *index) = 0; virtual status_t setStreamVolumeIndex(audio_stream_type_t stream, int index, audio_devices_t device) = 0; virtual status_t getStreamVolumeIndex(audio_stream_type_t stream, int *index, audio_devices_t device) = 0; virtual uint32_t getStrategyForStream(audio_stream_type_t stream) = 0; virtual uint32_t getDevicesForStream(audio_stream_type_t stream) = 0; virtual audio_io_handle_t getOutputForEffect(effect_descriptor_t *desc) = 0; Loading
media/java/android/media/AudioService.java +272 −117 File changed.Preview size limit exceeded, changes collapsed. Show changes
media/java/android/media/AudioSystem.java +68 −2 Original line number Diff line number Diff line Loading @@ -183,6 +183,7 @@ public class AudioSystem } } /* * AudioPolicyService methods */ Loading @@ -202,6 +203,23 @@ public class AudioSystem public static final int DEVICE_OUT_ANLG_DOCK_HEADSET = 0x800; public static final int DEVICE_OUT_DGTL_DOCK_HEADSET = 0x1000; public static final int DEVICE_OUT_DEFAULT = 0x8000; public static final int DEVICE_OUT_ALL = (DEVICE_OUT_EARPIECE | DEVICE_OUT_SPEAKER | DEVICE_OUT_WIRED_HEADSET | DEVICE_OUT_WIRED_HEADPHONE | DEVICE_OUT_BLUETOOTH_SCO | DEVICE_OUT_BLUETOOTH_SCO_HEADSET | DEVICE_OUT_BLUETOOTH_SCO_CARKIT | DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES | DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER | DEVICE_OUT_AUX_DIGITAL | DEVICE_OUT_ANLG_DOCK_HEADSET | DEVICE_OUT_DGTL_DOCK_HEADSET | DEVICE_OUT_DEFAULT); public static final int DEVICE_OUT_ALL_A2DP = (DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES | DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER); // input devices public static final int DEVICE_IN_COMMUNICATION = 0x10000; public static final int DEVICE_IN_AMBIENT = 0x20000; Loading @@ -218,6 +236,54 @@ public class AudioSystem public static final int DEVICE_STATE_AVAILABLE = 1; private static final int NUM_DEVICE_STATES = 1; public static final String DEVICE_OUT_EARPIECE_NAME = "earpiece"; public static final String DEVICE_OUT_SPEAKER_NAME = "speaker"; public static final String DEVICE_OUT_WIRED_HEADSET_NAME = "headset"; public static final String DEVICE_OUT_WIRED_HEADPHONE_NAME = "headphone"; public static final String DEVICE_OUT_BLUETOOTH_SCO_NAME = "bt_sco"; public static final String DEVICE_OUT_BLUETOOTH_SCO_HEADSET_NAME = "bt_sco_hs"; public static final String DEVICE_OUT_BLUETOOTH_SCO_CARKIT_NAME = "bt_sco_carkit"; public static final String DEVICE_OUT_BLUETOOTH_A2DP_NAME = "bt_a2dp"; public static final String DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES_NAME = "bt_a2dp_hp"; public static final String DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER_NAME = "bt_a2dp_spk"; public static final String DEVICE_OUT_AUX_DIGITAL_NAME = "aux_digital"; public static final String DEVICE_OUT_ANLG_DOCK_HEADSET_NAME = "analog_dock"; public static final String DEVICE_OUT_DGTL_DOCK_HEADSET_NAME = "digital_dock"; public static String getDeviceName(int device) { switch(device) { case DEVICE_OUT_EARPIECE: return DEVICE_OUT_EARPIECE_NAME; case DEVICE_OUT_SPEAKER: return DEVICE_OUT_SPEAKER_NAME; case DEVICE_OUT_WIRED_HEADSET: return DEVICE_OUT_WIRED_HEADSET_NAME; case DEVICE_OUT_WIRED_HEADPHONE: return DEVICE_OUT_WIRED_HEADPHONE_NAME; case DEVICE_OUT_BLUETOOTH_SCO: return DEVICE_OUT_BLUETOOTH_SCO_NAME; case DEVICE_OUT_BLUETOOTH_SCO_HEADSET: return DEVICE_OUT_BLUETOOTH_SCO_HEADSET_NAME; case DEVICE_OUT_BLUETOOTH_SCO_CARKIT: return DEVICE_OUT_BLUETOOTH_SCO_CARKIT_NAME; case DEVICE_OUT_BLUETOOTH_A2DP: return DEVICE_OUT_BLUETOOTH_A2DP_NAME; case DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES: return DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES_NAME; case DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER: return DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER_NAME; case DEVICE_OUT_AUX_DIGITAL: return DEVICE_OUT_AUX_DIGITAL_NAME; case DEVICE_OUT_ANLG_DOCK_HEADSET: return DEVICE_OUT_ANLG_DOCK_HEADSET_NAME; case DEVICE_OUT_DGTL_DOCK_HEADSET: return DEVICE_OUT_DGTL_DOCK_HEADSET_NAME; default: return ""; } } // phone state, match audio_mode??? public static final int PHONE_STATE_OFFCALL = 0; public static final int PHONE_STATE_RINGING = 1; Loading Loading @@ -251,7 +317,7 @@ public class AudioSystem public static native int setForceUse(int usage, int config); public static native int getForceUse(int usage); public static native int initStreamVolume(int stream, int indexMin, int indexMax); public static native int setStreamVolumeIndex(int stream, int index); public static native int getStreamVolumeIndex(int stream); public static native int setStreamVolumeIndex(int stream, int index, int device); public static native int getStreamVolumeIndex(int stream, int device); public static native int getDevicesForStream(int stream); }