Merge "hal: allow to get render position for non-offload use cases"
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index a550ecc..4f69bd5 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -2246,9 +2246,13 @@
{
struct stream_out *out = (struct stream_out *)stream;
struct audio_device *adev = out->dev;
- if (is_offload_usecase(out->usecase) && (dsp_frames != NULL)) {
+
+ if (dsp_frames == NULL)
+ return -EINVAL;
+
+ *dsp_frames = 0;
+ if (is_offload_usecase(out->usecase)) {
ssize_t ret = 0;
- *dsp_frames = 0;
pthread_mutex_lock(&out->lock);
if (out->compr != NULL) {
ret = compress_get_tstamp(out->compr, (unsigned long *)dsp_frames,
@@ -2276,6 +2280,9 @@
} else {
return 0;
}
+ } else if (audio_is_linear_pcm(out->format)) {
+ *dsp_frames = out->written;
+ return 0;
} else
return -EINVAL;
}