Commit graph

12847 commits

Author SHA1 Message Date
Reynaldo H. Verdejo Pinochet
19c3b4d892 eglglessink: Clear surface to black by default 2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
19739bfb74 eglglessink: Make sure we get a config we can use with GLES2 2012-10-18 14:35:12 +02:00
Reynaldo H. Verdejo Pinochet
24b926a6cc eglglessink: set_window_handle() has been tested to work now 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
7ac284b1a1 eglglessink: Avoid autoscaling by default 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
a81b036355 eglglessink: Avoid repeatedly setting 2D resizing params
Moved to initial texture setup so it hapens
just once while on the same context.
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
a96fa541ee eglglessink: Avoid initializing EGL at _set_window_handle()
_start() should take care of that.
This change asumes _setcaps() will
happen always after _start() is
done.
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
ead20f4f0b eglglessink: Don't ask for a window if we already have one 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
22eb374b57 eglglessink: Fix EGL attribs var naming 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
c2cf1fa639 eglglessink: Fix slow path rendering on Android
Specify missing and mandatory params for npot
Before calling glTexImage2D.

In particular, _WRAP_T and _WRAP_S need to be
set to GL_CLAMP_TO_EDGE to avoid all-black
rendering with npot sized frames.
2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
f33167f95b eglglessink: Add test on usable eglconfigs returned 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
303a346fc2 eglglessink: Drop stale error_locked label 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
5763c8d308 eglglessink: Cleanup stale code comments 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
391137a20e eglglessink: GlViewPort() should use actual surface size 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
f707961183 eglglessink: Avoid reiniting EGL after the first time 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
75fe18200a eglglessink: Use correct template caps 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
e439c01382 eglglessink: Fix missing texture setup bits 2012-10-18 14:35:11 +02:00
Reynaldo H. Verdejo Pinochet
68eac71910 eglglessink: Add error checking on eglSwapBuffers 2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
f8dcc8aaa5 eglglessink: Fix stale&wrong 0.5 alpha blend 2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
12d66a7d54 eglglessink: Add float precision specifier to fragment shader
This is required by GLES and fixes compilation of fragment
shader prog.
2012-10-18 14:35:10 +02:00
Reynaldo H. Verdejo Pinochet
28aadcad4e eglglessink: Add log reporting at shader compilation failure 2012-10-18 14:35:10 +02:00
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