Commit graph

184 commits

Author SHA1 Message Date
Sebastian Dröge
1b88d7cada eglglessink: Don't return EGLImages that we just rendered from the buffer pool
Mapping them will fail because they're still internally used.
2013-01-03 17:28:49 +01:00
Sebastian Dröge
2aefc09248 eglglessink: Handle copying of GstMemory properly
We have to use the default video meta mapping functions.
2013-01-03 15:22:38 +01:00
Sebastian Dröge
b244151f85 eglglessink: Make sure to always use the correct GstMemory for buffers from our pool 2013-01-03 12:08:39 +01:00
Sebastian Dröge
e8b4815783 eglglessink: Don't forget to call the platform specific EGLImage free function 2013-01-03 11:07:06 +01:00
Sebastian Dröge
c6d9191abe eglglessink: Make sure to wait for the right object to be dequeued 2013-01-03 10:43:43 +01:00
Sebastian Dröge
79144b7cea eglglessink: Remove packed YUV support
This will not allow zero-copy because the same
EGLImage would need to be used for two different
textures with a different format.
2013-01-02 16:10:20 +01:00
Sebastian Dröge
9e1faac4df eglglessink: Log in the performance category if we map/copy EGLImages to normal memory 2013-01-01 12:05:03 +01:00
Sebastian Dröge
1ad5e5b329 eglglessink: Catch errors from glEGLImageTargetTexture2DOES() 2013-01-01 10:48:53 +01:00
Sebastian Dröge
1fbea3e39d eglglessink: Upload textures in GstBaseSink::prepare() already
This gives more time for the texture to be uploaded as it happens
before syncing to the running time. When the running time is reached
only eglSwapBuffers() is necessary.
2013-01-01 10:48:53 +01:00
Sebastian Dröge
2cae6df5e5 eglglessink: Downgrade a GST_ERROR to a GST_DEBUG 2012-12-31 15:59:05 +01:00
Sebastian Dröge
9f14fd5cce eglglessink: Make last_flow handling more threadsafe 2012-12-31 15:59:05 +01:00
Sebastian Dröge
4df3e56c9a eglglessink: Add support for allocating EGLImages on Mali
This allows to decoders and other upstream elements to do
zero-copy to the sink.
2012-12-31 15:59:04 +01:00
Sebastian Dröge
6748198668 eglglessink: Fix indention 2012-12-30 11:32:29 +01:00
Sebastian Dröge
6140bc7f8c eglglessink: Return the last_flow immediately if it wasn't GST_FLOW_OK 2012-12-30 11:32:02 +01:00
Sebastian Dröge
fa6cddcf45 eglglessink: Fix copy&paste mistake 2012-12-30 11:29:49 +01:00
Sebastian Dröge
be5486231b eglglessink: Improve EGL/GL error handling a bit 2012-12-30 11:25:13 +01:00
Sebastian Dröge
d643ff961e eglglessink: Don't access the video frame data if not necessary 2012-12-30 11:25:13 +01:00
Sebastian Dröge
83612e7d19 eglglessink: Configure caps from the setcaps function already 2012-12-30 11:25:13 +01:00
Sebastian Dröge
e454e9a862 eglglessink: Bind the OpenGL ES API in the render thread too 2012-12-28 20:07:34 +01:00
Sebastian Dröge
46c7bbfeb5 eglglessink: Some refactoring as preparation for platform specific rendering 2012-12-28 20:07:34 +01:00
Sebastian Dröge
6b8188f9f6 eglglessink: Only use the GstVideoFrame if we have a buffer 2012-12-28 20:07:34 +01:00
Sebastian Dröge
079f5e83ea eglglessink: Add support for video meta and arbitrary strides 2012-12-26 17:25:36 +01:00
Sebastian Dröge
7a08bb8429 eglglessink: Fix width/height swap in last commit 2012-12-26 15:58:55 +01:00
Sebastian Dröge
673d262fe7 eglglessink: Remove debug function call from previous commit 2012-12-26 15:46:40 +01:00
Sebastian Dröge
17bf9dfd70 eglglessink: Fix handling of GstVideoOverlay::set_render_rect() and crop metadata 2012-12-26 14:39:03 +01:00
Sebastian Dröge
4789db8930 eglglessink: Fix a crash on GstVideoOverlay::expose() 2012-12-26 10:39:52 +01:00
Sebastian Dröge
3c2574998b eglglessink: Fix crash when closing internal X11 window 2012-12-26 10:34:21 +01:00
Sebastian Dröge
b80764e8b7 eglglessink: Use new GType for GThread instead of just G_TYPE_POINTER 2012-11-12 11:48:38 +01:00
Tim-Philipp Müller
9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Sebastian Dröge
c3f94f14f0 eglglessink: Use more constants instead of hardcoding values 2012-11-02 11:29:54 +01:00
Sebastian Dröge
b0bad3ca15 eglglessink: Post stream-status messages for our render thread 2012-11-01 13:51:09 +01:00
Sebastian Dröge
8786262fff eglglessink: If pushing an item on the queue fails, free it
Otherwise we're going to leak the item.
2012-10-31 13:55:47 +01:00
Sebastian Dröge
ac420ff0de eglglessink: Stop using deprecated GLib thread API 2012-10-25 14:28:49 +02:00
Sebastian Dröge
1e1d4da87c eglglessink: Add support for crop metadata 2012-10-25 14:05:48 +02:00
Sebastian Dröge
187350329a eglglessink: Port to 1.0 2012-10-25 14:05:48 +02:00
Sebastian Dröge
888fe99fa4 eglglessink: Don't try to render expose() if no caps are known yet 2012-10-19 12:02:05 +02:00
Sebastian Dröge
4dc028a2a3 eglglessink: Fix expose 2012-10-19 10:38:06 +02:00
Sebastian Dröge
c9b17f28f6 eglglessink: Make compilable on desktop Linux with MESA too 2012-10-18 14:35:52 +02:00
Sebastian Dröge
ebb99f27ac eglglessink: Fix debug output 2012-10-18 14:35:20 +02:00
Sebastian Dröge
61db9ad941 eglglessink: Also clear the surface once when the buffer content is preserved 2012-10-18 14:35:20 +02:00
Sebastian Dröge
147edd1fc2 eglglessink: Only draw black borders if the default swap behaviour of the surface is to destroy the buffer 2012-10-18 14:35:20 +02:00
Sebastian Dröge
a025c80b4c eglglessink: Remove unused label 2012-10-18 14:35:20 +02:00
Reynaldo H. Verdejo Pinochet
5bdf1ec099 eglglessink: Factor display region reset to its own func 2012-10-18 14:35:20 +02:00
Reynaldo H. Verdejo Pinochet
c3a12d737e eglglessink: Always Reset display_region.* at EGL/GLES ctx wipe 2012-10-18 14:35:20 +02:00
Reynaldo H. Verdejo Pinochet
ac037ce319 eglglessink: Factor ELG/GLES context cleanup into its own func 2012-10-18 14:35:20 +02:00
Reynaldo H. Verdejo Pinochet
ab81bd8f1e eglglessink: Drop drafted fast rendering path logic 2012-10-18 14:35:20 +02:00
Sebastian Dröge
f5043f5d64 eglglessink: Provide the texture positions to the shader on every frame too 2012-10-18 14:35:20 +02:00
Sebastian Dröge
9941466ab4 eglglessink: Draw black borders and also use a single GL buffer for all vertices
Fixes weird artifacts outside the video frame on
Qualcomm Snapdragon chipsets and should be faster
than glClear() on the complete area all the time.
2012-10-18 14:35:20 +02:00
Sebastian Dröge
a65ed4d7c1 eglglessink: Fix memory leak 2012-10-18 14:35:20 +02:00
Sebastian Dröge
f7a0da4da9 eglglessink: Remove useless debug output added for debugging earlier 2012-10-18 14:35:20 +02:00