Commit graph

19 commits

Author SHA1 Message Date
Josep Torra
97a1ccfab1 opensles: ensure that we register the callback only in STOPPED
Fixes the error registering the callback on the PLAYING -> PAUSE ->
PLAYING state change sequence.
2012-10-18 14:03:09 +02:00
Josep Torra
e265cec514 opensles: cap queue size
Just in case we want to tweak the sink behaviour with buffer-time and
latency-time properties cap the queue size to something reasonable.
2012-10-18 14:03:09 +02:00
Josep Torra
08ef2e3eed opensles: only drain half ringbuffer on start
At start drain half ringbuffer into the OpenSL so the writting/reading
pointers will start at half ringbuffer distance.
2012-10-18 14:03:09 +02:00
Josep Torra
3698d98921 opensles: monitor some player events 2012-10-18 14:03:09 +02:00
Josep Torra
3ff51bb88b opensles: rework around the _delay function 2012-10-18 14:03:09 +02:00
Josep Torra
27cdb7c2ca opensles: implement _delay function 2012-10-18 14:03:09 +02:00
Josep Torra
9fcfa00680 opensles: refactor to behave more like other sinks
Reflect the queue in our own data buffer.
Drop the _commit hook that wasn't usefull.
Don't mess with the segsize/segtotal.
2012-10-18 14:03:09 +02:00
Josep Torra
ed5870b605 opensles: read player position and show it in the log 2012-10-18 14:03:09 +02:00
Josep Torra
b00049a9f6 opensles: rework on start/stop operations and callback function handling 2012-10-18 14:03:08 +02:00
Josep Torra
eb6715a305 opensles: attempt to reduce playback latency 2012-10-18 14:03:08 +02:00
Josep Torra
1d9e16fb78 opensles: drop _buffer_clear calls and refactor to a shared _enqueue_cb 2012-10-18 14:03:08 +02:00
Josep Torra
1694befac6 opensles: use 0.25s segments in the sink to lower latency 2012-10-18 14:03:08 +02:00
Josep Torra
5612936d1a opensles: finish remaining bits for source element. 2012-10-18 14:03:08 +02:00
Josep Torra
85bd75a2b1 opensles: add the mute property and handle volume/mute changes on the fly 2012-10-18 14:03:08 +02:00
Josep Torra
f06688c7b2 opensles: make the volume property actually work 2012-10-18 14:03:08 +02:00
Josep Torra
0291953997 opensles: rework on the ringbufffer to properly clear segments
Make the segments bigger (1 second) as it seems to be the minimum size
we need to not introduce noise.
Sink works in my nexus 7 with rates from 8000 to 44100 and some noise
can be noticed on higger sample rates.
2012-10-18 14:03:08 +02:00
Josep Torra
29334f3233 opensles: fixes the license headers 2012-10-18 14:03:08 +02:00
Josep Torra
805a010dc9 opensles: produces expected output until ringbuffer wraps
Add some log messages.
Fixed a bit the _player_cb function and properly advance reding in the
ringbuffer.
Still produces noise when the ringbuffer wraps.
2012-10-18 14:03:08 +02:00
Josep Torra
f6aa2f29bc opensles: Add initial draft implementation of OpenSL ES plugin.
Initial draft implementation for a OpenSL ES based plugin for Android
that provides audio src and sink.
2012-10-18 14:03:08 +02:00