Julien Isorce
3a84875294
eglglessink: change pool->sink->last_buffer to pool->last_buffer
...
So that GstEGLImageBufferPool does not depend on GstEglGlesSink
The goal is still to move it into gstegl lib
2013-09-04 13:32:14 +01:00
Julien Isorce
fdaa26e1c8
eglglessink: buffer pool does not need to maintain a ref on the display
...
Because it does not use it and also it may not know it when
we create the pool
2013-09-04 13:32:14 +01:00
Julien Isorce
d16583d771
eglglessink: add GstEGLImageBufferPoolSendBlockingAllocate callback
...
The goal here is to prepare GstEGLBufferPool to be moved into
gstegl lib. So it has to not depend on 'gst_eglglessink_queue_object'
2013-09-04 13:32:14 +01:00
Julien Isorce
c0ca9bc422
eglglessink: prepare gst_egl_adaptation_allocate_eglimage to be moved
...
into gstegl lib or splited between gstegl lib and gstgl lib
because it both depends on egl and gl
So it has to not depend on GstEglAdaptationContext
2013-09-04 13:32:14 +01:00
Edward Hervey
97426a1caa
all: Fix for GST_DISABLE_GST_DEBUG
...
Where applicable, remove methods that don't do anything different than
the default implementation.
2013-07-29 09:42:12 +02:00
Thiago Santos
ef66e39d03
eagl: fix handling of surface dimension changes
...
Detect when the eagl surface changed its dimension (when the user rotates
the device for example) and adapt the egl internals to draw to that,
preventing that ios resizes the image again when drawing.
This is particularly harmful when eagl would scale down a image
to draw and the ios screen would scale it back up because the
surface is now bigger than when the element was configured.
2013-05-16 15:16:30 -03:00
Sebastian Dröge
baa9754f6f
eglglessink: Give only SECONDARY rank
...
If available we still prefer xvimagesink.
2013-04-18 15:27:11 +02:00
Josep Torra
1190a79b19
eglglessink: silence warnings building for RPI related to 'vcos_*'
2013-04-18 12:53:28 +02:00
Josep Torra
9a88d737fc
eglglessink: fix warnings building on the RPI
2013-04-18 12:35:55 +02:00
Sebastian Dröge
a8cca17027
eglglessink: Fix GstContext refcounting some more
2013-04-17 13:48:28 +02:00
Sebastian Dröge
e8ad67f2b4
eglglessink: Update for GLTextureUploadMeta and EGL API changes
2013-04-17 10:51:18 +02:00
Sebastian Dröge
118f8f33ef
eglglessink: Properly set a debug category for the adaption layers
2013-04-16 22:25:19 +02:00
Sebastian Dröge
9fdec0f83b
eglglessink: Get the EGL/GLES extensions at the right position
2013-04-16 22:25:02 +02:00
Thiago Santos
149cb5a7cf
eglglessink: refactor to allow eagl support
...
Put EGL specific code to a separate file and create the same functions
for EAGL, the Apple's specific EGL implementaton.
At this point, the EAGL version wasn't compiled or tested as there isn't
any simple documented way to build 1.0 for iOS. This code for the EAGL
version is still the 0.10 version, some updates should be made when 1.0
is buildable for iOS.
2013-04-16 16:04:35 -03:00
Thiago Santos
0fafdf8db1
eglglessink: refactor egl functions/data to a separate file
...
This is part of the changes required to make
eglglessink work with both EGL and Apple's EAGL
2013-04-16 15:58:12 -03:00
Sebastian Dröge
0f10fb622e
eglglessink: Print EGL/GLES extensions after we are actually initialized enough
2013-04-16 16:30:08 +02:00
Sebastian Dröge
611ab7f744
eglglessink: Fix compiler warnings
...
gsteglglessink.c: In function 'gst_eglglessink_fill_texture':
gsteglglessink.c:1815:3: error: format '%d' expects argument of type 'int', but argument 11 has type 'gsize' [-Werror=format]
gsteglglessink.c: In function 'gst_eglglessink_configure_caps':
gsteglglessink.c:2850:3: error: format '%p' expects argument of type 'void *', but argument 8 has type 'EGLNativeWindowType' [-Werror=format]
2013-04-15 08:48:19 +02:00
Sebastian Dröge
1acde42b6e
eglglessink: Use the EGLImage and GstVideoGLTextureUploadMeta caps features
2013-04-01 10:22:07 +02:00
Sebastian Dröge
95f819109f
eglglessink: Use gst_element_get_context() wherever possible
2013-03-31 11:47:01 +02:00
Sebastian Dröge
ce9b6e5afb
eglglessink: Implement GstContext handling
2013-03-29 16:38:34 +01:00
Sebastian Dröge
9e2af116f6
eglglessink: Use a separate texture for the custom textures
2013-03-29 16:11:56 +01:00
Sebastian Dröge
3233c6163a
eglglessink: Add support for GstVideoGLTextureUploadMeta
2013-03-29 16:07:23 +01:00
Sebastian Dröge
86363b4f39
eglglessink: Add support for different EGLImage orientations
2013-03-13 13:02:07 +01:00
Sebastian Dröge
d5f15cf3a2
eglglessink: Add RGBA to the caps again
2013-03-13 11:10:02 +01:00
Sebastian Dröge
71768daceb
eglglessink: Make sure the buffer is released to the pool if it's the last used one
2013-03-12 19:36:12 +01:00
Sebastian Dröge
bd8963f591
eglglessink: There are only two GLSL programs, not three
2013-03-07 11:58:25 +01:00
Sebastian Dröge
0931724767
eglglessink: gst_buffer_pool_config_get_allocator() does *not* return a new reference to the allocator
...
Different to gst_query_get_n_allocation_params() which does
2013-03-07 11:51:06 +01:00
Sebastian Dröge
c4fc3428eb
eglglessink: Fix allocation of RGBA textures
2013-03-06 17:53:18 +01:00
Sebastian Dröge
a50700404a
eglglessink: Make sure to set the NO_SHARE flag on the EGLImage memories
...
See https://bugzilla.gnome.org/show_bug.cgi?id=695203
2013-03-06 10:53:59 +01:00
Sebastian Dröge
ebe5849443
eglglessink: Always use an RGBA configuration
2013-03-05 12:47:07 +01:00
Sebastian Dröge
a2e89b0858
eglglessink: Properly negotiate an allocator
2013-03-03 12:31:05 +01:00
Sebastian Dröge
a47f52bb96
egl: Mark memory as not mappable if it isn't
2013-03-03 12:31:05 +01:00
Sebastian Dröge
106a0f09af
eglglessink: Store a reference to the last_buffer if using EGLImages
2013-03-03 12:31:05 +01:00
Sebastian Dröge
196223b810
eglglessink: Fix compiler warning on RPi
2013-03-03 12:31:05 +01:00
Sebastian Dröge
e852f18e93
eglglessink: Port to new EGL library
2013-03-03 12:31:04 +01:00
Sebastian Dröge
ec19fa930c
eglglessink: Fix GST_ERROR_OBJECT() parameters
2013-03-03 12:29:24 +01:00
Sebastian Dröge
3876a7f9e6
eglglessink: For RPi, initialize bcm_host in plugin_init()
2013-02-13 15:22:37 +01:00
Julian Scheel
f337777eb5
eglglessink: Add bcm/Raspberry Pi support.
...
This adds a video platform backend for the dispmanx display manager used by
broadcom and the Raspberry Pi.
Signed-off-by: Julian Scheel <julian@jusst.de>
2013-02-13 12:38:31 +01:00
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