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