r_submix: Fix get_next_write_timestamp and get_input_buffer_size

Fix the implementation to conform to VTS expectations.

out_get_next_write_timestamp must return "NOT_SUPPORTED" (-ENOSYS)
as it is not supported.

adev_get_input_buffer_size must return a non-zero
buffer size for supported formats, regardless of whether
there are any opened streams at the moment.

Bug: 141847510
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I322bf8cf42415fddb028c9cd10db0ac82089ce85
This commit is contained in:
Mikhail Naganov 2019-11-05 12:33:22 -08:00
parent 6a293a9a23
commit 739ce6bbad

View file

@ -984,7 +984,7 @@ static int out_get_next_write_timestamp(const struct audio_stream_out *stream,
{
(void)stream;
(void)timestamp;
return -EINVAL;
return -ENOSYS;
}
/** audio_stream_in implementation **/
@ -1576,6 +1576,9 @@ static size_t adev_get_input_buffer_size(const struct audio_hw_device *dev,
}
const size_t frame_size_in_bytes = audio_channel_count_from_in_mask(config->channel_mask) *
audio_bytes_per_sample(config->format);
if (max_buffer_period_size_frames == 0) {
max_buffer_period_size_frames = DEFAULT_PIPE_SIZE_IN_FRAMES;
}
const size_t buffer_size = max_buffer_period_size_frames * frame_size_in_bytes;
SUBMIX_ALOGV("adev_get_input_buffer_size() returns %zu bytes, %zu frames",
buffer_size, max_buffer_period_size_frames);