From fa691e0f694b6d541a2b86f3866cfd2985358adf Mon Sep 17 00:00:00 2001 From: Aman Karmani Date: Tue, 19 Oct 2021 14:27:37 -0700 Subject: ao_audiotrack: allocate chunk buffer based on negotiated size Signed-off-by: Aman Karmani --- audio/out/ao_audiotrack.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/audio/out/ao_audiotrack.c b/audio/out/ao_audiotrack.c index 16f8a67223..3ddd559ffe 100644 --- a/audio/out/ao_audiotrack.c +++ b/audio/out/ao_audiotrack.c @@ -720,8 +720,6 @@ static int init(struct ao *ao) MP_FATAL(ao, "AudioTrack.getMinBufferSize returned an invalid size: %d", buffer_size); return -1; } - p->chunksize = buffer_size; - p->chunk = malloc(buffer_size); int min = 0.200 * p->samplerate * af_fmt_to_bytes(ao->format); int max = min * 3 / 2; @@ -729,6 +727,9 @@ static int init(struct ao *ao) MP_VERBOSE(ao, "Setting bufferSize = %d (driver=%d, min=%d, max=%d)\n", p->size, buffer_size, min, max); ao->device_buffer = p->size / af_fmt_to_bytes(ao->format); + p->chunksize = p->size; + p->chunk = malloc(p->size); + jobject timestamp = MP_JNI_NEW(AudioTimestamp.clazz, AudioTimestamp.ctor); if (!timestamp || MP_JNI_EXCEPTION_LOG(ao) < 0) { MP_FATAL(ao, "AudioTimestamp could not be created\n"); -- cgit v1.2.3