From 1694befac6d6022f2d8ef64fe7c5a8001a69a708 Mon Sep 17 00:00:00 2001 From: Josep Torra Date: Fri, 21 Sep 2012 17:04:14 +0200 Subject: [PATCH] opensles: use 0.25s segments in the sink to lower latency --- sys/opensles/openslesringbuffer.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sys/opensles/openslesringbuffer.c b/sys/opensles/openslesringbuffer.c index 49ecf3c25d..6dfbdf93cf 100644 --- a/sys/opensles/openslesringbuffer.c +++ b/sys/opensles/openslesringbuffer.c @@ -435,13 +435,9 @@ _opensles_player_acquire (GstRingBuffer * rb, GstRingBufferSpec * spec) _opensles_player_change_mute (rb); /* Define our ringbuffer in terms of number of buffers and buffer size. */ - spec->segsize = (spec->rate * spec->bytes_per_sample); - spec->segtotal = 4; - /* In the Nexus7 device where I'm testing seems that I need buffers of - * min 1 second of audio. - * Then here we created 4 segments of a second and a queue of 2 buffers - * in order to properly clear the older segment */ - thiz->last_clearseg = -3; + spec->segsize = (spec->rate * spec->bytes_per_sample) >> 2; + spec->segtotal = 16; + thiz->last_clearseg = 1 - spec->segtotal; return TRUE;