From 9f32b6f4f522e2210e7096496e843b0073d3c9c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?"Romain=20Vimont=20(=C2=AEom)"?= <rom@rom1v.com>
Date: Tue, 1 Apr 2014 15:00:06 +0200
Subject: [PATCH] Odroid audio delay workaround
On Odroid devices, the audio stream is ~200ms late, due to incorrect
information returned by GetState. This workaround compensates for this
constant shift.
---
modules/audio_output/opensles_android.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules/audio_output/opensles_android.c b/modules/audio_output/opensles_android.c
index 434d78d..480a3d2 100644
--- a/modules/audio_output/opensles_android.c
+++ b/modules/audio_output/opensles_android.c
@@ -155,6 +155,10 @@ static int TimeGet(audio_output_t* aout, mtime_t* restrict drift)
SLAndroidSimpleBufferQueueState st;
SLresult res = GetState(sys->playerBufferQueue, &st);
+
+ // odroid audio delay workaround
+ st.count += 20;
+
if (unlikely(res != SL_RESULT_SUCCESS)) {
msg_Err(aout, "Could not query buffer queue state in TimeGet (%lu)", res);
return -1;
--
1.7.10.4