summaryrefslogtreecommitdiffstats
path: root/hal/audio_hw_extn_api.c
diff options
context:
space:
mode:
authorManish Dewangan <manish@codeaurora.org>2017-03-01 12:56:12 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-17 02:31:21 -0700
commit27346045e7beb99d47b5ddd9a8e03f7fc85a1bc8 (patch)
tree633ae393af26c7f5d1e8ed3a270c2b04394c1903 /hal/audio_hw_extn_api.c
parent5822938f2a117f21f0ed5d36b92ed6f745cc3e5f (diff)
downloadhardware_qcom_audio-27346045e7beb99d47b5ddd9a8e03f7fc85a1bc8.tar.gz
hardware_qcom_audio-27346045e7beb99d47b5ddd9a8e03f7fc85a1bc8.tar.bz2
hardware_qcom_audio-27346045e7beb99d47b5ddd9a8e03f7fc85a1bc8.zip
audio: hal: support for audio render window
-Changes to add support for audio render window. Change-Id: I40bb0d8061b8245999c37a485d3a7ee45108fac6 CRs-Fixed: 2009985
Diffstat (limited to 'hal/audio_hw_extn_api.c')
-rw-r--r--hal/audio_hw_extn_api.c31
1 files changed, 27 insertions, 4 deletions
diff --git a/hal/audio_hw_extn_api.c b/hal/audio_hw_extn_api.c
index 25c45030..708c698b 100644
--- a/hal/audio_hw_extn_api.c
+++ b/hal/audio_hw_extn_api.c
@@ -56,10 +56,33 @@ static void lock_output_stream(struct stream_out *out)
}
/* API to send playback stream specific config parameters */
-int qahwi_out_set_param_data(struct audio_stream_out *stream __unused,
- audio_extn_param_id param_id __unused,
- audio_extn_param_payload *payload __unused) {
- return -ENOSYS;
+int qahwi_out_set_param_data(struct audio_stream_out *stream,
+ audio_extn_param_id param_id,
+ audio_extn_param_payload *payload) {
+ int ret = -EINVAL;
+ struct stream_out *out = (struct stream_out *)stream;
+
+ if (!stream || !payload) {
+ ALOGE("%s:: Invalid Param",__func__);
+ return ret;
+ }
+
+ lock_output_stream(out);
+ ALOGD("%s: enter: stream (%p) usecase(%d: %s) param_id %d", __func__,
+ stream, out->usecase, use_case_table[out->usecase], param_id);
+
+ switch (param_id) {
+ case AUDIO_EXTN_PARAM_OUT_RENDER_WINDOW:
+ ret = audio_extn_utils_compress_set_render_window(out,
+ (struct audio_out_render_window_param *)(payload));
+ break;
+ default:
+ ALOGE("%s:: unsupported param_id %d", __func__, param_id);
+ break;
+ }
+
+ pthread_mutex_unlock(&out->lock);
+ return ret;
}
/* API to get playback stream specific config parameters */