summaryrefslogtreecommitdiff
path: root/compress.c
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-08-30 22:05:35 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-08-30 22:05:35 +0000
commit3374792448db161153da54a7b25c9b63941afccc (patch)
tree76a3f1ee81a835806626a5279759fd782df0fc9c /compress.c
parent7af6952af79e3ca5a58878bd0548a653d68caac3 (diff)
parent59ab62c9cd847563a68ef88b81eec9014413f23a (diff)
Snap for 7687840 from 59ab62c9cd847563a68ef88b81eec9014413f23a to t-keystone-qcom-release
Change-Id: Ibeb8515fe4f2b17289a333012b33348b52552763
Diffstat (limited to 'compress.c')
-rw-r--r--compress.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/compress.c b/compress.c
index 6077891..f1947b0 100644
--- a/compress.c
+++ b/compress.c
@@ -622,6 +622,23 @@ int compress_wait(struct compress *compress, int timeout_ms)
return oops(compress, EIO, "poll signalled unhandled event");
}
+int compress_set_codec_params(struct compress *compress,
+ struct snd_codec *codec) {
+ struct snd_compr_params params;
+
+ if (!is_compress_running(compress))
+ return oops(compress, ENODEV, "device not ready");
+
+ params.buffer.fragment_size = compress->config->fragment_size;
+ params.buffer.fragments = compress->config->fragments;
+ memcpy(&params.codec, codec, sizeof(params.codec));
+
+ if (compress->ops->ioctl(compress->data, SNDRV_COMPRESS_SET_PARAMS, &params))
+ return oops(compress, errno, "cannot set device");
+
+ return 0;
+}
+
#ifdef ENABLE_EXTENDED_COMPRESS_FORMAT
int compress_get_metadata(struct compress *compress,
struct snd_compr_metadata *mdata) {