Josep Torra
69426572f8
opensles: implement the ringbuffer clear_all vmethod too
2012-10-18 14:03:09 +02:00
Josep Torra
fc087f6419
opensles: initial attempt to reduce the src latency
2012-10-18 14:03:09 +02:00
Josep Torra
920354eb0d
opensles: sprinkle comments and cosmetic fixes
2012-10-18 14:03:09 +02:00
Josep Torra
78e3b9f428
opensles: check for device outputs in the mixer
2012-10-18 14:03:09 +02:00
Josep Torra
1d9f48a33d
opensles: drop 48kHz sample rate
...
OpenSL ES implementation in Android is just a 'facade' API on top of
AudioFlinger which will downsample 48kHz into 44.1kHz before
delivering the audio to the underlaying hardware.
We found that it suffer some sort of underrun when the downsample
enters in action so relay on our good resampler to take care of that
and fix the clicks issue. And get an extra bonus of a lower latency.
2012-10-18 14:03:09 +02:00
Josep Torra
9cc7e6a74d
opensles: change the defaults to use 20 ms ringbuffer segments
...
In my nexus7 seems that the internal min buffer size is 20 ms so make
our segments match.
2012-10-18 14:03:09 +02:00
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
cc6fc15674
opensles: sink to provide the audioclock by default
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
1e69918f3e
opensles: do not provide a clock in the sink element.
2012-10-18 14:03:08 +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
f00d5a5cac
opensles: fixes 8 bit format which is unsigned on android.
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
c006973a4e
opensles: attempt to query device for capabilities
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
Sebastian Dröge
77364e2b3c
androidmedia: Use correct variable name in Makefile.am
2012-10-18 09:25:52 +02:00
Raimo Järvi
01853745a3
directsoundsrc: Fix compiler warning
...
https://bugzilla.gnome.org/show_bug.cgi?id=673414
2012-10-17 21:01:39 +01:00
Tim-Philipp Müller
32ba17cd0f
Use gst_element_class_set_static_metadata()
...
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Raimo Järvi
a7258842ab
directsoundsrc: port to 1.0
...
https://bugzilla.gnome.org/show_bug.cgi?id=673414
2012-10-17 13:25:25 +01:00
Sebastian Dröge
5e6783f5af
mpegdemux: Fix unitialized variable compiler warning
2012-10-16 11:38:08 +02:00
Sebastian Dröge
cf1fbba759
Revert "configure: fix build"
...
This reverts commit 5c1c35290d
.
2012-10-16 11:34:04 +02:00
Sebastian Dröge
80533fa3a3
androidmedia: Add missing file
2012-10-16 11:33:50 +02:00
Wim Taymans
5c1c35290d
configure: fix build
2012-10-16 11:32:00 +02:00
Sebastian Dröge
6fa3f058b1
androidmedia: Rename plugin
2012-10-15 16:37:54 +02:00
Sebastian Dröge
babdbb9d99
androidmedia: Add to the not yet ported plugins
2012-10-15 16:29:00 +02:00
Sebastian Dröge
5e954a7d0a
androidmedia: Make everything buildable
2012-10-15 16:28:43 +02:00
Sebastian Dröge
f3682a0a6b
Don't try to use the NVidia DRM codecs
2012-10-15 16:28:43 +02:00
Sebastian Dröge
31f0f163bd
Try to handle format changes more gracefully
...
And make stop() faster and more robust
2012-10-15 16:28:43 +02:00
Sebastian Dröge
b0b642d8ab
Add workaround for Google MP3 decoder outputting garbage in first output buffer
...
And assume one decoded input frame per output buffer to fix timestamp
handling by the base class.
2012-10-15 16:28:43 +02:00
Sebastian Dröge
2f3b2c586f
Also add some more output format checks to the audio decoder
2012-10-15 16:28:42 +02:00
Sebastian Dröge
a870e6a5c3
Check output format metadata some more
...
And implement workaround for NVidia Tegra 3 not setting the slice_height.
Thanks to Josep Torra for debugging this issue.
2012-10-15 16:28:42 +02:00
Sebastian Dröge
7341ed62fa
Add some more default channel layouts, these should be good for AAC at least
2012-10-15 16:28:42 +02:00
Sebastian Dröge
6ed3ea7cad
Don't set timestamps, the baseclass handles this for us anyway
2012-10-15 16:28:42 +02:00
Sebastian Dröge
86176bd2a2
List profiles in reverse to minimize caps
2012-10-15 16:28:42 +02:00
Sebastian Dröge
fc5a18c091
Iterate levels in reverse order to minimize caps
2012-10-15 16:28:42 +02:00
Sebastian Dröge
0b0255ed12
Merge structures into caps instead of appending them
2012-10-15 16:28:42 +02:00