diff options
author | Manish Dewangan <manish@codeaurora.org> | 2017-03-01 12:56:12 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-05-17 02:31:21 -0700 |
commit | 27346045e7beb99d47b5ddd9a8e03f7fc85a1bc8 (patch) | |
tree | 633ae393af26c7f5d1e8ed3a270c2b04394c1903 /hal/audio_hw_extn_api.c | |
parent | 5822938f2a117f21f0ed5d36b92ed6f745cc3e5f (diff) | |
download | hardware_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.c | 31 |
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 */ |