Reynaldo H. Verdejo Pinochet
b4887425cc
eglglessink: Add some missing checks on shader ops
...
- Check whether there is shader compiler support
and bail out otherwise.
- Add checks on compile and linking ops
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
2a84a72fe7
eglglessink: Fix setup chain logic
...
Mostly a procedural reordering. Idea is to avoid
trying to setup a surface without a display.This
change relies on the asumption that:
1.- set_window_handle() can happen at any time
2.- setcaps will never get called before _start()
is done.
If both conditions are meet the new procedure
should work as expected.
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
40d6cc2099
eglglessink: WIP: Reorder locking
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
289f388085
eglglessink: Fix xOverlay logic
...
Several fixes dealing with correct window
creation and set_handle() ops. Tested on
X11/mesa with internal window creation.
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
9e18b29be2
eglglessink: Actually test EGL configs before claiming support
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
59b1870ac1
eglglessink: Caps nego EGL fixes
...
- Fix alloc lol on format list: Asked for 2 slices and used 3.
- Reordered display & context init logic to prepare for actual
config checking before claiming support for a given format.
Change deals basically with setting up EGL display at start()
and choose an EGL config only at setcaps time.
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
a8f60690aa
eglglessink: Caps nego. Start extending RGB support to a set.
2012-10-18 14:35:10 +02:00
Sebastian Dröge
bd28c42fae
eglglessink: Fix build of static plugin
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
a83dae1b54
eglglessink: Drop wrong format test on _setcaps (draft leftover)
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
75d4bf420a
eglglessink: Support RGB24 by default
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
1d77bf6c0f
eglglessink: Instrument EGL error reporting
2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
b8c83f98b7
eglglessink: Correctly return GstFlowReturn from render_and_display()
2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
cca08a02a1
eglglessink: Move VBO setup to it's own function
2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
3fce24549f
eglglessink: Fix render_and_display logic
...
Switch procedure according to enabled rendering path
2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
ada5a83eb4
eglglessink: Fix sample launch line with disabled window creation
2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
086563195c
eglglessink: Rename stale android leftover
2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
ea03067f3f
eglglessink: Move eglgles Sink to ext/ #2
2012-10-18 14:35:09 +02:00
Reynaldo H. Verdejo Pinochet
85250eb9e2
eglglessink: Move eglgles Sink to ext/
2012-10-18 14:35:09 +02:00
Sebastian Dröge
d3f95050c5
opensles: Add the opensles plugin to the list of not ported plugins
2012-10-18 14:03:33 +02:00
Sebastian Dröge
9c1543bd79
opensles: Integrate into build system
2012-10-18 14:03:10 +02:00
Josep Torra
e4810c3420
openslessink: Return 0 delay if the player object is in PAUSED state
2012-10-18 14:03:10 +02:00
Josep Torra
7c3a9c2974
opensles: fixes noise on seekeing
2012-10-18 14:03:10 +02:00
Josep Torra
adcf73e43f
opensles: chain up on _clear_all
2012-10-18 14:03:10 +02:00
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