Loading hal/Android.mk +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HDMI_EDID)),true) LOCAL_SRC_FILES += edid.c LOCAL_CFLAGS := -DHDMI_EDID_ENABLED LOCAL_CFLAGS += -DHDMI_EDID endif ifeq ($(strip $(AUDIO_USE_LL_AS_PRIMARY_OUTPUT)),true) Loading hal/audio_hw.c +6 −4 Original line number Diff line number Diff line Loading @@ -666,9 +666,10 @@ static void check_usecases_codec_backend(struct audio_device *adev, specified usecase to new snd devices */ list_for_each(node, &adev->usecase_list) { usecase = node_to_item(node, struct audio_usecase, list); /* Update the out_snd_device only for the usecases that are enabled here */ if (switch_device[usecase->id] && (usecase->type != VOICE_CALL)) { /* Update the out_snd_device only before enabling the audio route */ if (switch_device[usecase->id] ) { usecase->out_snd_device = snd_device; if (usecase->type != VOICE_CALL) enable_audio_route(adev, usecase); } } Loading Loading @@ -703,7 +704,8 @@ static void check_and_route_capture_usecases(struct audio_device *adev, usecase != uc_info && usecase->in_snd_device != snd_device && ((uc_info->devices & AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND) && ((usecase->devices & ~AUDIO_DEVICE_BIT_IN) & AUDIO_DEVICE_IN_ALL_CODEC_BACKEND)) && (((usecase->devices & ~AUDIO_DEVICE_BIT_IN) & AUDIO_DEVICE_IN_ALL_CODEC_BACKEND) || (usecase->type == VOICE_CALL))) && (usecase->id != USECASE_AUDIO_SPKR_CALIB_TX)) { ALOGV("%s: Usecase (%s) is active on (%s) - disabling ..", __func__, use_case_table[usecase->id], Loading hal/edid.c +2 −2 Original line number Diff line number Diff line Loading @@ -662,12 +662,12 @@ bool edid_get_sink_caps(edid_audio_info* info, char *edid_data) ALOGV("AUDIO DESC BLOCK # %d\n",i); info->audio_blocks_array[i].channels = channels[i]; ALOGV("info->audio_blocks_array[i].channels %d\n", ALOGD("info->audio_blocks_array[i].channels %d\n", info->audio_blocks_array[i].channels); ALOGV("Format Byte %d\n", formats[i]); info->audio_blocks_array[i].format_id = (edid_audio_format_id)formats[i]; ALOGV("info->audio_blocks_array[i].format_id %s", ALOGD("info->audio_blocks_array[i].format_id %s", edid_format_to_str(formats[i])); ALOGV("Frequency Byte %d\n", frequency[i]); Loading hal/edid.h +5 −0 Original line number Diff line number Diff line Loading @@ -92,5 +92,10 @@ typedef struct edid_audio_info { int channel_allocation; } edid_audio_info; #ifndef HDMI_EDID #define edid_get_sink_caps(info, edid_data) (0) #else bool edid_get_sink_caps(edid_audio_info* info, char *edid_data); #endif #endif /* EDID_H */ hal/msm8916/platform.c +1 −3 Original line number Diff line number Diff line Loading @@ -2428,7 +2428,7 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o goto exit; } if (popcount(devices) == 2 && !voice_is_in_call(adev)) { if (popcount(devices) == 2) { if (devices == (AUDIO_DEVICE_OUT_WIRED_HEADPHONE | AUDIO_DEVICE_OUT_SPEAKER)) { if (my_data->external_spk_1) Loading Loading @@ -4214,12 +4214,10 @@ int platform_get_edid_info(void *platform) edid_data[0] = count; memcpy(&edid_data[1], block, count); #ifdef HDMI_EDID_ENABLED if (!edid_get_sink_caps(info, edid_data)) { ALOGE("%s: Failed to get HDMI sink capabilities", __func__); goto fail; } #endif my_data->edid_valid = true; return 0; Loading Loading
hal/Android.mk +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr ifeq ($(strip $(AUDIO_FEATURE_ENABLED_HDMI_EDID)),true) LOCAL_SRC_FILES += edid.c LOCAL_CFLAGS := -DHDMI_EDID_ENABLED LOCAL_CFLAGS += -DHDMI_EDID endif ifeq ($(strip $(AUDIO_USE_LL_AS_PRIMARY_OUTPUT)),true) Loading
hal/audio_hw.c +6 −4 Original line number Diff line number Diff line Loading @@ -666,9 +666,10 @@ static void check_usecases_codec_backend(struct audio_device *adev, specified usecase to new snd devices */ list_for_each(node, &adev->usecase_list) { usecase = node_to_item(node, struct audio_usecase, list); /* Update the out_snd_device only for the usecases that are enabled here */ if (switch_device[usecase->id] && (usecase->type != VOICE_CALL)) { /* Update the out_snd_device only before enabling the audio route */ if (switch_device[usecase->id] ) { usecase->out_snd_device = snd_device; if (usecase->type != VOICE_CALL) enable_audio_route(adev, usecase); } } Loading Loading @@ -703,7 +704,8 @@ static void check_and_route_capture_usecases(struct audio_device *adev, usecase != uc_info && usecase->in_snd_device != snd_device && ((uc_info->devices & AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND) && ((usecase->devices & ~AUDIO_DEVICE_BIT_IN) & AUDIO_DEVICE_IN_ALL_CODEC_BACKEND)) && (((usecase->devices & ~AUDIO_DEVICE_BIT_IN) & AUDIO_DEVICE_IN_ALL_CODEC_BACKEND) || (usecase->type == VOICE_CALL))) && (usecase->id != USECASE_AUDIO_SPKR_CALIB_TX)) { ALOGV("%s: Usecase (%s) is active on (%s) - disabling ..", __func__, use_case_table[usecase->id], Loading
hal/edid.c +2 −2 Original line number Diff line number Diff line Loading @@ -662,12 +662,12 @@ bool edid_get_sink_caps(edid_audio_info* info, char *edid_data) ALOGV("AUDIO DESC BLOCK # %d\n",i); info->audio_blocks_array[i].channels = channels[i]; ALOGV("info->audio_blocks_array[i].channels %d\n", ALOGD("info->audio_blocks_array[i].channels %d\n", info->audio_blocks_array[i].channels); ALOGV("Format Byte %d\n", formats[i]); info->audio_blocks_array[i].format_id = (edid_audio_format_id)formats[i]; ALOGV("info->audio_blocks_array[i].format_id %s", ALOGD("info->audio_blocks_array[i].format_id %s", edid_format_to_str(formats[i])); ALOGV("Frequency Byte %d\n", frequency[i]); Loading
hal/edid.h +5 −0 Original line number Diff line number Diff line Loading @@ -92,5 +92,10 @@ typedef struct edid_audio_info { int channel_allocation; } edid_audio_info; #ifndef HDMI_EDID #define edid_get_sink_caps(info, edid_data) (0) #else bool edid_get_sink_caps(edid_audio_info* info, char *edid_data); #endif #endif /* EDID_H */
hal/msm8916/platform.c +1 −3 Original line number Diff line number Diff line Loading @@ -2428,7 +2428,7 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o goto exit; } if (popcount(devices) == 2 && !voice_is_in_call(adev)) { if (popcount(devices) == 2) { if (devices == (AUDIO_DEVICE_OUT_WIRED_HEADPHONE | AUDIO_DEVICE_OUT_SPEAKER)) { if (my_data->external_spk_1) Loading Loading @@ -4214,12 +4214,10 @@ int platform_get_edid_info(void *platform) edid_data[0] = count; memcpy(&edid_data[1], block, count); #ifdef HDMI_EDID_ENABLED if (!edid_get_sink_caps(info, edid_data)) { ALOGE("%s: Failed to get HDMI sink capabilities", __func__); goto fail; } #endif my_data->edid_valid = true; return 0; Loading