Reynaldo H. Verdejo Pinochet [Wed, 10 Oct 2012 02:04:05 +0000 (23:04 -0300)]
eglglessink: Documentation: GstEglGlesBuffer struct (DRAFT)
Reynaldo H. Verdejo Pinochet [Wed, 10 Oct 2012 01:54:48 +0000 (22:54 -0300)]
eglglessink: Documentation: GstEglGlesImageFmt struct
Reynaldo H. Verdejo Pinochet [Wed, 10 Oct 2012 01:40:19 +0000 (22:40 -0300)]
eglglessink: Documentation: GstEglGlesRenderContext struct
Reynaldo H. Verdejo Pinochet [Tue, 9 Oct 2012 20:00:52 +0000 (17:00 -0300)]
eglglessink: Assorted doc and reordering fixes
Reynaldo H. Verdejo Pinochet [Tue, 9 Oct 2012 19:25:46 +0000 (16:25 -0300)]
eglglessink: Documentation: Element properties
Brief explanatory comments plus some reordering
to group default setting of properties and runtime
flags values.
Sebastian Dröge [Tue, 9 Oct 2012 15:20:12 +0000 (17:20 +0200)]
eglglessink: Add support for YVYU
Reynaldo H. Verdejo Pinochet [Tue, 9 Oct 2012 14:48:09 +0000 (11:48 -0300)]
eglglessink: Documentation: GLSL Shaders
Brief explanatory comments plus some rerdering
to group packed/planar converters.
Reynaldo H. Verdejo Pinochet [Tue, 9 Oct 2012 14:00:24 +0000 (11:00 -0300)]
eglglessink: Documentation: Element overview
Reynaldo H. Verdejo Pinochet [Mon, 8 Oct 2012 15:10:25 +0000 (12:10 -0300)]
eglglessink: Refactor REORDER shader.
Avoid unneededly calling texture2D() 3 consecutive times.
Sebastian Dröge [Thu, 4 Oct 2012 13:47:54 +0000 (15:47 +0200)]
eglglessink: Fix handling of caps changes by only releasing what needs to be released
And not terminating the display connection
Reynaldo H. Verdejo Pinochet [Thu, 4 Oct 2012 05:15:24 +0000 (02:15 -0300)]
eglglessink: Move display_region reset to locked section
Reynaldo H. Verdejo Pinochet [Thu, 4 Oct 2012 04:56:10 +0000 (01:56 -0300)]
eglglessink: Reset display_region dims at caps renego
Reynaldo H. Verdejo Pinochet [Thu, 4 Oct 2012 04:33:31 +0000 (01:33 -0300)]
eglglessink: Cosmetics
Reynaldo H. Verdejo Pinochet [Thu, 4 Oct 2012 04:29:40 +0000 (01:29 -0300)]
eglglessink: Don't access local value from struct
Reynaldo H. Verdejo Pinochet [Thu, 4 Oct 2012 02:41:52 +0000 (23:41 -0300)]
eglglessink: Terminate display connection at caps renego
Reynaldo H. Verdejo Pinochet [Tue, 2 Oct 2012 20:56:14 +0000 (17:56 -0300)]
eglglessink: Cosmetics
Sebastian Dröge [Wed, 3 Oct 2012 10:32:38 +0000 (12:32 +0200)]
eglglessink: Only attach the context once to the streaming thread
Sebastian Dröge [Wed, 3 Oct 2012 08:53:25 +0000 (10:53 +0200)]
eglglessink: Make the context current for the thread and unbind it again around every use
This fixes some crashes and leaking of our context into other
OpenGL code on the same thread.
Sebastian Dröge [Tue, 2 Oct 2012 15:29:26 +0000 (17:29 +0200)]
eglglessink: Improve cleanup
Sebastian Dröge [Tue, 2 Oct 2012 13:46:03 +0000 (15:46 +0200)]
eglglessink: Remove unused label
Sebastian Dröge [Tue, 2 Oct 2012 13:42:02 +0000 (15:42 +0200)]
eglglessink: Allow setting a NULL handle
Sebastian Dröge [Tue, 2 Oct 2012 07:48:15 +0000 (09:48 +0200)]
eglglessink: Revert "Do not update_surface_dims() once per frame"
This reverts commit
82103376ede2bc7c63dd699f5982168660f67852.
We have to update the surface dimensions on every frame to
make sure that we get notified about updates. This happens
for example if the Android window gets re-layouted because
a widget takes more space than before.
Reynaldo H. Verdejo Pinochet [Tue, 2 Oct 2012 04:43:35 +0000 (01:43 -0300)]
eglglessink: Do not update_surface_dims() once per frame
And.. Upgrade debug message to warging on weird DAR.
Correct fix to avoid spaming with this message
once per each frame is avoid calling update_surface_dims()
at render_and_display(). This is handled at egl surface
init.
Sebastian Dröge [Mon, 1 Oct 2012 14:36:14 +0000 (16:36 +0200)]
eglglessink: And downgrade another warning too
Sebastian Dröge [Mon, 1 Oct 2012 14:14:39 +0000 (16:14 +0200)]
eglglessink: Downgrade GST_WARNING to GST_DEBUG
Sebastian Dröge [Mon, 1 Oct 2012 07:44:23 +0000 (09:44 +0200)]
eglglessink: Add some {} to if statements make them work as expected
Reynaldo H. Verdejo Pinochet [Mon, 1 Oct 2012 02:07:48 +0000 (23:07 -0300)]
eglglessink: Drop stale defines for max frame size
Reynaldo H. Verdejo Pinochet [Mon, 1 Oct 2012 02:06:19 +0000 (23:06 -0300)]
eglglessink: Small commentary fixes here an there
Reynaldo H. Verdejo Pinochet [Fri, 28 Sep 2012 14:48:23 +0000 (11:48 -0300)]
eglglessink: Avoid setting height or width twice
Reynaldo H. Verdejo Pinochet [Thu, 27 Sep 2012 04:18:37 +0000 (01:18 -0300)]
eglglessink: Use PAR/DAR to set viewport
Sebastian Dröge [Thu, 27 Sep 2012 12:28:05 +0000 (14:28 +0200)]
eglglessink: Correctly resize if the surface dimensions change
Sebastian Dröge [Thu, 27 Sep 2012 12:08:22 +0000 (14:08 +0200)]
eglglessink: Update surface dimensions on every buffer
Sebastian Dröge [Thu, 27 Sep 2012 12:02:17 +0000 (14:02 +0200)]
eglglessink: More consistent naming of shader related variables
Sebastian Dröge [Thu, 27 Sep 2012 11:57:14 +0000 (13:57 +0200)]
eglglessink: Some variable name cleanup
Sebastian Dröge [Thu, 27 Sep 2012 11:53:59 +0000 (13:53 +0200)]
eglglessink: Remove default-width/height properties
These are completely unneeded
Sebastian Dröge [Tue, 25 Sep 2012 11:32:40 +0000 (13:32 +0200)]
eglglessink: Fix double free()
Sebastian Dröge [Tue, 25 Sep 2012 07:06:04 +0000 (09:06 +0200)]
eglglessink: Don't leak EGL/ES render context
Reynaldo H. Verdejo Pinochet [Tue, 25 Sep 2012 04:39:21 +0000 (01:39 -0300)]
eglglessink: Put EGL/GLES context vars on their own struct
Reynaldo H. Verdejo Pinochet [Mon, 24 Sep 2012 14:19:32 +0000 (11:19 -0300)]
eglglessink: Small TODO reformatting
Reynaldo H. Verdejo Pinochet [Mon, 24 Sep 2012 13:23:28 +0000 (10:23 -0300)]
eglglessink: Add TODO file
Sebastian Dröge [Mon, 24 Sep 2012 12:43:50 +0000 (14:43 +0200)]
eglglessink: Correctly implement ::expose()
We don't need the past buffer for this, the old one is still available
as texture and we just need to draw our rectangle again.
Sebastian Dröge [Mon, 24 Sep 2012 11:48:19 +0000 (13:48 +0200)]
eglglessink: Allow setting another window for the next time we reconfigure everything
Sebastian Dröge [Mon, 24 Sep 2012 10:36:12 +0000 (12:36 +0200)]
eglglessink: Also unref current caps after usage
Sebastian Dröge [Mon, 24 Sep 2012 10:32:16 +0000 (12:32 +0200)]
eglglessink: Implement support for caps changes
Sebastian Dröge [Mon, 24 Sep 2012 10:27:28 +0000 (12:27 +0200)]
eglglessink: More cleanup and making the element reusable
Sebastian Dröge [Mon, 24 Sep 2012 10:05:22 +0000 (12:05 +0200)]
eglglessink: Properly init/release resources when going from NULL->READY and the other way around
Sebastian Dröge [Mon, 24 Sep 2012 09:48:59 +0000 (11:48 +0200)]
eglglessink: Generate the sink caps exactly once
Sebastian Dröge [Mon, 24 Sep 2012 09:17:25 +0000 (11:17 +0200)]
eglglessink: Fix code style a bit to stop confusing indent
Sebastian Dröge [Mon, 24 Sep 2012 09:15:02 +0000 (11:15 +0200)]
eglglessink: Fix support for YUY2 and UYVY
Sebastian Dröge [Mon, 24 Sep 2012 09:01:17 +0000 (11:01 +0200)]
eglglessink: Some property cleanup
Sebastian Dröge [Mon, 24 Sep 2012 08:45:07 +0000 (10:45 +0200)]
eglglessink: Add support for the remaining RGB formats
Sebastian Dröge [Mon, 24 Sep 2012 08:23:07 +0000 (10:23 +0200)]
eglglessink: Add support for Y444, Y42B and Y41B, just because it's so easy
Sebastian Dröge [Mon, 24 Sep 2012 08:02:28 +0000 (10:02 +0200)]
eglglessink: Add some simple TODOs
Reynaldo H. Verdejo Pinochet [Mon, 24 Sep 2012 04:08:22 +0000 (01:08 -0300)]
eglglessink: Lock while altering display region coords
Reynaldo H. Verdejo Pinochet [Mon, 24 Sep 2012 03:27:23 +0000 (00:27 -0300)]
eglglessink: Fix _get_compat_format_from_caps() logic
It's a getter so it shouldn't messing with the sink context.
Adding insult to injury it was setting selected_fmt without
locking.
The associated changes to the buffer functions are merely
make-it build fixes. Those functions are barely drafted
and in WIP state.
Reynaldo H. Verdejo Pinochet [Mon, 24 Sep 2012 02:07:29 +0000 (23:07 -0300)]
eglglessink: Drop unneded initial set to NULL
Reynaldo H. Verdejo Pinochet [Mon, 24 Sep 2012 01:33:58 +0000 (22:33 -0300)]
eglglessink: Minor formatting and comment fixes
Reynaldo H. Verdejo Pinochet [Fri, 21 Sep 2012 15:12:24 +0000 (12:12 -0300)]
eglglessink: Clean-up gl/egl allocations at _stop()
Also, conditionaly destroy window if the sink created its own.
Sebastian Dröge [Fri, 21 Sep 2012 15:08:44 +0000 (17:08 +0200)]
eglglessink: Add support for NV12 and NV21
Also YUY2 and UYVY but this is disabled for now as it
doesn't work completely yet. Something is wrong with
the chroma.
Sebastian Dröge [Fri, 21 Sep 2012 13:44:07 +0000 (15:44 +0200)]
eglglessink: Add support for I420 and YV12 color formats
Sebastian Dröge [Fri, 21 Sep 2012 12:05:43 +0000 (14:05 +0200)]
eglglessink: Preparations for supporting multiple textures for more YUV formats
Sebastian Dröge [Fri, 21 Sep 2012 11:42:41 +0000 (13:42 +0200)]
eglglessink: Use the attrib locations as really used inside the shader
Sebastian Dröge [Fri, 21 Sep 2012 10:53:00 +0000 (12:53 +0200)]
eglglessink: Really decouple vertex and texture positions in the shader
Sebastian Dröge [Fri, 21 Sep 2012 10:45:29 +0000 (12:45 +0200)]
eglglessink: Decouple texture and vertex positions
Sebastian Dröge [Fri, 21 Sep 2012 10:14:20 +0000 (12:14 +0200)]
eglglessink: Reorder vertex value order to make a bit more sense
Reynaldo H. Verdejo Pinochet [Fri, 21 Sep 2012 04:09:11 +0000 (01:09 -0300)]
eglglessink: Handle frame scaling to fill surface
Reynaldo H. Verdejo Pinochet [Fri, 21 Sep 2012 03:09:06 +0000 (00:09 -0300)]
eglglessink: Draft set_render_rectangle() from the xOverlay interface
Reynaldo H. Verdejo Pinochet [Fri, 21 Sep 2012 01:50:31 +0000 (22:50 -0300)]
eglglessink: Remove stale comment
Reynaldo H. Verdejo Pinochet [Fri, 21 Sep 2012 01:41:10 +0000 (22:41 -0300)]
eglglessink: Move VBO setup to setcaps
Reynaldo H. Verdejo Pinochet [Fri, 21 Sep 2012 01:11:08 +0000 (22:11 -0300)]
eglglessink: Don't do context ops at render
We don't need to repeatedly call
eglMakeCurrent() while using the
same context anyway.
Reynaldo H. Verdejo Pinochet [Fri, 21 Sep 2012 01:01:20 +0000 (22:01 -0300)]
eglglessink: Don't clear surface color at render
Sebastian Dröge [Thu, 20 Sep 2012 15:22:13 +0000 (17:22 +0200)]
eglglessink: Rename shader variables to make more sense
Sebastian Dröge [Thu, 20 Sep 2012 15:14:21 +0000 (17:14 +0200)]
eglglessink: Add support for AYUV
Sebastian Dröge [Thu, 20 Sep 2012 15:02:03 +0000 (17:02 +0200)]
eglglessink: Reorder caps a bit to make more sense
Sebastian Dröge [Thu, 20 Sep 2012 14:50:40 +0000 (16:50 +0200)]
eglglessink: Set rank to PRIMARY
Sebastian Dröge [Thu, 20 Sep 2012 14:25:33 +0000 (16:25 +0200)]
eglglessink: Add support for RGBA
Sebastian Dröge [Thu, 20 Sep 2012 14:21:55 +0000 (16:21 +0200)]
eglglessink: Correctly generated caps for the supported formats
Sebastian Dröge [Thu, 20 Sep 2012 14:08:28 +0000 (16:08 +0200)]
eglglessink: Add ::get_caps() vfunc that returns the actually supported caps
Sebastian Dröge [Thu, 20 Sep 2012 13:56:56 +0000 (15:56 +0200)]
eglglessink: Also require a configuration with EGL_SURFACE_TYPE containing EGL_WINDOW_BIT
Sebastian Dröge [Thu, 20 Sep 2012 12:50:23 +0000 (14:50 +0200)]
eglglessink: Fix compiler warnings
Reynaldo H. Verdejo Pinochet [Wed, 19 Sep 2012 22:26:54 +0000 (19:26 -0300)]
eglglessink: Clear surface to black by default
Reynaldo H. Verdejo Pinochet [Wed, 19 Sep 2012 22:23:50 +0000 (19:23 -0300)]
eglglessink: Make sure we get a config we can use with GLES2
Reynaldo H. Verdejo Pinochet [Wed, 19 Sep 2012 22:12:30 +0000 (19:12 -0300)]
eglglessink: set_window_handle() has been tested to work now
Reynaldo H. Verdejo Pinochet [Wed, 19 Sep 2012 15:29:13 +0000 (12:29 -0300)]
eglglessink: Avoid autoscaling by default
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 17:58:43 +0000 (14:58 -0300)]
eglglessink: Avoid repeatedly setting 2D resizing params
Moved to initial texture setup so it hapens
just once while on the same context.
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 15:04:20 +0000 (12:04 -0300)]
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.
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 13:43:38 +0000 (10:43 -0300)]
eglglessink: Don't ask for a window if we already have one
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 13:31:26 +0000 (10:31 -0300)]
eglglessink: Fix EGL attribs var naming
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 05:32:25 +0000 (02:32 -0300)]
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.
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 03:51:36 +0000 (00:51 -0300)]
eglglessink: Add test on usable eglconfigs returned
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 02:05:29 +0000 (23:05 -0300)]
eglglessink: Drop stale error_locked label
Reynaldo H. Verdejo Pinochet [Tue, 18 Sep 2012 02:04:05 +0000 (23:04 -0300)]
eglglessink: Cleanup stale code comments
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 21:00:16 +0000 (18:00 -0300)]
eglglessink: GlViewPort() should use actual surface size
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 20:21:26 +0000 (17:21 -0300)]
eglglessink: Avoid reiniting EGL after the first time
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 16:44:09 +0000 (13:44 -0300)]
eglglessink: Use correct template caps
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 15:54:05 +0000 (12:54 -0300)]
eglglessink: Fix missing texture setup bits
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 14:57:24 +0000 (11:57 -0300)]
eglglessink: Add error checking on eglSwapBuffers
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 14:40:49 +0000 (11:40 -0300)]
eglglessink: Fix stale&wrong 0.5 alpha blend
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 13:56:14 +0000 (10:56 -0300)]
eglglessink: Add float precision specifier to fragment shader
This is required by GLES and fixes compilation of fragment
shader prog.
Reynaldo H. Verdejo Pinochet [Mon, 17 Sep 2012 13:47:39 +0000 (10:47 -0300)]
eglglessink: Add log reporting at shader compilation failure