Loading qahw_api/test/qahw_multi_record_test.c +21 −3 Original line number Diff line number Diff line /* * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Not a Contribution. * * Copyright (C) 2015 The Android Open Source Project * Loading Loading @@ -77,6 +77,7 @@ struct audio_config_params { char kvpairs[256]; bool timestamp_mode; char timestamp_file_in[256]; bool bt_wbs; }; struct timed_params { Loading Loading @@ -260,7 +261,7 @@ void *start_input(void *thread_param) double time_elapsed = 0; ssize_t bytes_read = -1; char param[100] = "audio_stream_profile="; char file_name[256] = "/data/rec"; char file_name[256] = "/data/audio/rec"; int data_sz = 0, name_len = strlen(file_name); qahw_in_buffer_t in_buf; static int64_t timestamp = 1; Loading Loading @@ -347,6 +348,12 @@ void *start_input(void *thread_param) strlcat(param, params->profile, sizeof(param)); qahw_in_set_parameters(in_handle, param); if (audio_is_bluetooth_sco_device(params->input_device)) { char param1[50]; snprintf(param1, sizeof(param1), "bt_wbs=%s", ((params->bt_wbs == 1) ? "on" : "off")); qahw_set_parameters(qahw_mod_handle, param1); } /* Caution: Below ADL log shouldnt be altered without notifying automation APT since it used for * automation testing */ Loading Loading @@ -548,6 +555,11 @@ int read_config_params_from_user(struct audio_config_params *thread_param) { scanf(" %d", &thread_param->input_device); thread_param->input_device |= AUDIO_DEVICE_BIT_IN; if (thread_param->input_device == AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET) { printf(" \n Enable wbs for BT sco?? (1 - Enable 0 - Disable) ::::: "); scanf("%d", &thread_param->bt_wbs); } printf(" \n Enter the format (1 ->16 bit pcm recording, 6 -> 24 bit packed pcm recording) ::::: "); scanf(" %d", &thread_param->config.format); Loading Loading @@ -587,6 +599,7 @@ void fill_default_params(struct audio_config_params *thread_param, int rec_sessi thread_param->record_length = 8 /*sec*/; thread_param->record_delay = 0 /*sec*/; thread_param->timestamp_mode = false; thread_param->bt_wbs = false; thread_param->handle = 0x99A - rec_session; } Loading @@ -613,6 +626,7 @@ void usage() { printf(" All other flags passed would be ignore if this flag is used\n\n"); printf(" -S --source-tracking - Use this flag to show capture source tracking params for recordings\n\n"); printf(" -k --kvpairs - kvpairs to be set globally\n"); printf(" -z --bt-wbs - set bt_wbs param\n"); printf(" -h --help - Show this help\n\n"); printf(" \n Examples \n"); printf(" hal_rec_test -> start a recording stream with default configurations\n\n"); Loading Loading @@ -670,6 +684,7 @@ int main(int argc, char* argv[]) { {"source-tracking", no_argument, 0, 'S'}, {"kvpairs", required_argument, 0, 'k'}, {"help", no_argument, 0, 'h'}, {"bt-wbs", no_argument, 0, 'z'}, {0, 0, 0, 0} }; Loading @@ -677,7 +692,7 @@ int main(int argc, char* argv[]) { int option_index = 0; while ((opt = getopt_long(argc, argv, "-d:f:F:r:c:s:p:t:D:l:m:k:KiSh", "-d:f:F:r:c:s:p:t:D:l:m:k:KiShz", long_options, &option_index)) != -1) { switch (opt) { Loading Loading @@ -727,6 +742,9 @@ int main(int argc, char* argv[]) { case 'k': snprintf(params[0].kvpairs, sizeof(params[0].kvpairs), "%s", optarg); break; case 'z': params[0].bt_wbs = true; break; case 'h': usage(); return 0; Loading qahw_api/test/qahw_playback_test.c +26 −4 Original line number Diff line number Diff line /* * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Not a Contribution. * * Copyright (C) 2015 The Android Open Source Project * Loading Loading @@ -648,6 +648,14 @@ void *start_stream_playback (void* stream_data) fprintf(log_file, "stream %d: open output stream is success, out_handle %p\n", params->stream_index, params->out_handle); if (audio_is_bluetooth_sco_device(params->output_device)) { char param1[50]; int ret = -1; snprintf(param1, sizeof(param1), "bt_wbs=%s", ((params->bt_wbs == 1) ? "on" : "off")); ret = qahw_set_parameters(params->qahw_out_hal_handle, param1); fprintf(log_file, " param %s set to hal with return value %d\n", param1, ret); } if (kpi_mode == true) { measure_kpi_values(params->out_handle, params->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD); rc = qahw_close_output_stream(params->out_handle); Loading Loading @@ -1573,6 +1581,7 @@ void usage() { printf(" -A --bt-addr <bt device addr> - Required to set bt device adress for aptx decoder\n\n"); printf(" -q --drift query - Required for querying avtime vs hdmi drift\n"); printf(" -Q --drift query and correction - Enable Drift query and correction\n"); printf(" -z --bt-wbs - Set bt_wbs param\n\n"); printf(" -P - Argument to do multi-stream playback, currently 2 streams are supported to run concurrently\n"); printf(" Put -P and mention required attributes for the next stream\n"); printf(" 0:bassboost 1:virtualizer 2:equalizer 3:visualizer(NA) 4:reverb 5:audiosphere others:null"); Loading Loading @@ -2103,6 +2112,7 @@ int main(int argc, char* argv[]) { {"device-config", required_argument, 0, 'C'}, {"play-list", required_argument, 0, 'g'}, {"help", no_argument, 0, 'h'}, {"bt-wbs", no_argument, 0, 'z'}, {0, 0, 0, 0} }; Loading @@ -2125,7 +2135,7 @@ int main(int argc, char* argv[]) { while ((opt = getopt_long(argc, argv, "-f:r:c:b:d:s:v:V:l:t:a:w:k:PD:KF:Ee:A:u:m:S:C:p::x:y:qQh:i:h:g:O:", "-f:r:c:b:d:s:v:V:l:t:a:w:k:PD:KF:Ee:A:u:m:S:C:p::x:y:qQzh:i:h:g:O:", long_options, &option_index)) != -1) { Loading Loading @@ -2158,6 +2168,9 @@ int main(int argc, char* argv[]) { case 'V': enable_dump = atof(optarg); break; case 'z': stream_param[i].bt_wbs = true; break; case 'l': log_filename = optarg; if (strcasecmp(log_filename, "stdout") && Loading Loading @@ -2498,10 +2511,19 @@ int main(int argc, char* argv[]) { } } if (stream->output_device != AUDIO_DEVICE_NONE) if (stream->output_device != AUDIO_DEVICE_NONE) { if ((stream->qahw_out_hal_handle = load_hal(stream->output_device)) <= 0) goto exit; /* Turn BT_SCO on if bt_sco recording */ if(audio_is_bluetooth_sco_device(stream->output_device)) { int ret = -1; const char * bt_sco_on = "BT_SCO=on"; ret = qahw_set_parameters(stream->qahw_out_hal_handle, bt_sco_on); fprintf(log_file, " param %s set to hal with return value %d\n", bt_sco_on, ret); } } if (stream->input_device != AUDIO_DEVICE_NONE) if ((stream->qahw_in_hal_handle = load_hal(stream->input_device))== 0) goto exit; Loading qahw_api/test/qahw_playback_test.h +2 −1 Original line number Diff line number Diff line /* * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2017,2019, The Linux Foundation. All rights reserved. * Not a Contribution. * * Copyright (C) 2015 The Android Open Source Project * Loading Loading @@ -145,6 +145,7 @@ typedef struct { pthread_mutex_t input_buffer_available_lock; uint32_t input_buffer_available_size; char *set_params; bool bt_wbs; }stream_config; qahw_module_handle_t * load_hal(audio_devices_t dev); Loading Loading
qahw_api/test/qahw_multi_record_test.c +21 −3 Original line number Diff line number Diff line /* * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Not a Contribution. * * Copyright (C) 2015 The Android Open Source Project * Loading Loading @@ -77,6 +77,7 @@ struct audio_config_params { char kvpairs[256]; bool timestamp_mode; char timestamp_file_in[256]; bool bt_wbs; }; struct timed_params { Loading Loading @@ -260,7 +261,7 @@ void *start_input(void *thread_param) double time_elapsed = 0; ssize_t bytes_read = -1; char param[100] = "audio_stream_profile="; char file_name[256] = "/data/rec"; char file_name[256] = "/data/audio/rec"; int data_sz = 0, name_len = strlen(file_name); qahw_in_buffer_t in_buf; static int64_t timestamp = 1; Loading Loading @@ -347,6 +348,12 @@ void *start_input(void *thread_param) strlcat(param, params->profile, sizeof(param)); qahw_in_set_parameters(in_handle, param); if (audio_is_bluetooth_sco_device(params->input_device)) { char param1[50]; snprintf(param1, sizeof(param1), "bt_wbs=%s", ((params->bt_wbs == 1) ? "on" : "off")); qahw_set_parameters(qahw_mod_handle, param1); } /* Caution: Below ADL log shouldnt be altered without notifying automation APT since it used for * automation testing */ Loading Loading @@ -548,6 +555,11 @@ int read_config_params_from_user(struct audio_config_params *thread_param) { scanf(" %d", &thread_param->input_device); thread_param->input_device |= AUDIO_DEVICE_BIT_IN; if (thread_param->input_device == AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET) { printf(" \n Enable wbs for BT sco?? (1 - Enable 0 - Disable) ::::: "); scanf("%d", &thread_param->bt_wbs); } printf(" \n Enter the format (1 ->16 bit pcm recording, 6 -> 24 bit packed pcm recording) ::::: "); scanf(" %d", &thread_param->config.format); Loading Loading @@ -587,6 +599,7 @@ void fill_default_params(struct audio_config_params *thread_param, int rec_sessi thread_param->record_length = 8 /*sec*/; thread_param->record_delay = 0 /*sec*/; thread_param->timestamp_mode = false; thread_param->bt_wbs = false; thread_param->handle = 0x99A - rec_session; } Loading @@ -613,6 +626,7 @@ void usage() { printf(" All other flags passed would be ignore if this flag is used\n\n"); printf(" -S --source-tracking - Use this flag to show capture source tracking params for recordings\n\n"); printf(" -k --kvpairs - kvpairs to be set globally\n"); printf(" -z --bt-wbs - set bt_wbs param\n"); printf(" -h --help - Show this help\n\n"); printf(" \n Examples \n"); printf(" hal_rec_test -> start a recording stream with default configurations\n\n"); Loading Loading @@ -670,6 +684,7 @@ int main(int argc, char* argv[]) { {"source-tracking", no_argument, 0, 'S'}, {"kvpairs", required_argument, 0, 'k'}, {"help", no_argument, 0, 'h'}, {"bt-wbs", no_argument, 0, 'z'}, {0, 0, 0, 0} }; Loading @@ -677,7 +692,7 @@ int main(int argc, char* argv[]) { int option_index = 0; while ((opt = getopt_long(argc, argv, "-d:f:F:r:c:s:p:t:D:l:m:k:KiSh", "-d:f:F:r:c:s:p:t:D:l:m:k:KiShz", long_options, &option_index)) != -1) { switch (opt) { Loading Loading @@ -727,6 +742,9 @@ int main(int argc, char* argv[]) { case 'k': snprintf(params[0].kvpairs, sizeof(params[0].kvpairs), "%s", optarg); break; case 'z': params[0].bt_wbs = true; break; case 'h': usage(); return 0; Loading
qahw_api/test/qahw_playback_test.c +26 −4 Original line number Diff line number Diff line /* * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Not a Contribution. * * Copyright (C) 2015 The Android Open Source Project * Loading Loading @@ -648,6 +648,14 @@ void *start_stream_playback (void* stream_data) fprintf(log_file, "stream %d: open output stream is success, out_handle %p\n", params->stream_index, params->out_handle); if (audio_is_bluetooth_sco_device(params->output_device)) { char param1[50]; int ret = -1; snprintf(param1, sizeof(param1), "bt_wbs=%s", ((params->bt_wbs == 1) ? "on" : "off")); ret = qahw_set_parameters(params->qahw_out_hal_handle, param1); fprintf(log_file, " param %s set to hal with return value %d\n", param1, ret); } if (kpi_mode == true) { measure_kpi_values(params->out_handle, params->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD); rc = qahw_close_output_stream(params->out_handle); Loading Loading @@ -1573,6 +1581,7 @@ void usage() { printf(" -A --bt-addr <bt device addr> - Required to set bt device adress for aptx decoder\n\n"); printf(" -q --drift query - Required for querying avtime vs hdmi drift\n"); printf(" -Q --drift query and correction - Enable Drift query and correction\n"); printf(" -z --bt-wbs - Set bt_wbs param\n\n"); printf(" -P - Argument to do multi-stream playback, currently 2 streams are supported to run concurrently\n"); printf(" Put -P and mention required attributes for the next stream\n"); printf(" 0:bassboost 1:virtualizer 2:equalizer 3:visualizer(NA) 4:reverb 5:audiosphere others:null"); Loading Loading @@ -2103,6 +2112,7 @@ int main(int argc, char* argv[]) { {"device-config", required_argument, 0, 'C'}, {"play-list", required_argument, 0, 'g'}, {"help", no_argument, 0, 'h'}, {"bt-wbs", no_argument, 0, 'z'}, {0, 0, 0, 0} }; Loading @@ -2125,7 +2135,7 @@ int main(int argc, char* argv[]) { while ((opt = getopt_long(argc, argv, "-f:r:c:b:d:s:v:V:l:t:a:w:k:PD:KF:Ee:A:u:m:S:C:p::x:y:qQh:i:h:g:O:", "-f:r:c:b:d:s:v:V:l:t:a:w:k:PD:KF:Ee:A:u:m:S:C:p::x:y:qQzh:i:h:g:O:", long_options, &option_index)) != -1) { Loading Loading @@ -2158,6 +2168,9 @@ int main(int argc, char* argv[]) { case 'V': enable_dump = atof(optarg); break; case 'z': stream_param[i].bt_wbs = true; break; case 'l': log_filename = optarg; if (strcasecmp(log_filename, "stdout") && Loading Loading @@ -2498,10 +2511,19 @@ int main(int argc, char* argv[]) { } } if (stream->output_device != AUDIO_DEVICE_NONE) if (stream->output_device != AUDIO_DEVICE_NONE) { if ((stream->qahw_out_hal_handle = load_hal(stream->output_device)) <= 0) goto exit; /* Turn BT_SCO on if bt_sco recording */ if(audio_is_bluetooth_sco_device(stream->output_device)) { int ret = -1; const char * bt_sco_on = "BT_SCO=on"; ret = qahw_set_parameters(stream->qahw_out_hal_handle, bt_sco_on); fprintf(log_file, " param %s set to hal with return value %d\n", bt_sco_on, ret); } } if (stream->input_device != AUDIO_DEVICE_NONE) if ((stream->qahw_in_hal_handle = load_hal(stream->input_device))== 0) goto exit; Loading
qahw_api/test/qahw_playback_test.h +2 −1 Original line number Diff line number Diff line /* * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2017,2019, The Linux Foundation. All rights reserved. * Not a Contribution. * * Copyright (C) 2015 The Android Open Source Project * Loading Loading @@ -145,6 +145,7 @@ typedef struct { pthread_mutex_t input_buffer_available_lock; uint32_t input_buffer_available_size; char *set_params; bool bt_wbs; }stream_config; qahw_module_handle_t * load_hal(audio_devices_t dev); Loading