Matthew Waters
d169907472
[617/906] fix 'set but not used' compiler warnings
2017-12-09 19:31:26 +00:00
Matthew Waters
80fdf4c30c
[616/906] move window-specific code into seperate subfolders
2017-12-09 19:31:26 +00:00
Matthew Waters
cc1f734857
[615/906] preliminary support for Win32 EGL
2017-12-09 19:31:26 +00:00
Matthew Waters
d378a9d1d9
[614/906] try GLX first when using ANY | OPENGL | OPENGL3
2017-12-09 19:31:26 +00:00
Matthew Waters
fc4619f8a9
[613/906] window_cocoa: fix segfault with gst-launch-1.0 -e ... and sending SIGINT (Ctrl-C)
...
GNUstep has a signal handler for SIGINT which runs in the main thread.
However that thread has never been 'registered' with GNUstep so
the autorelease magic of objective-c causes a segfault from accessing
a null NSThread object somewhere deep in GNUstep.
2017-12-09 19:31:26 +00:00
Matthew Waters
517db226fe
[612/906] remove GNUstep makefiles
2017-12-09 19:31:26 +00:00
Matthew Waters
b36b9f4a4a
[611/906] cocoa port of determining gl platform at runtime
2017-12-09 19:31:25 +00:00
Matthew Waters
22aa2e093d
[610/906] WindowX11EGL: remove get_platform call
2017-12-09 19:31:25 +00:00
Matthew Waters
d857c58015
[609/906] win32 port of determining GL platform at runtime
...
- add GstGLWindowWin32 and GstGLWindowWin32WGL along the same lines as the
X11 variants
2017-12-09 19:31:25 +00:00
Matthew Waters
4d88e9977e
[608/906] add GST_GL_PLATFORM_ANY for choosing any platform
2017-12-09 19:31:25 +00:00
Matthew Waters
af658df918
[607/906] remove get_platform and get_window_handle vfuncs
...
- rename choose_visual() to choose_format() for later incorporating
win32 changes and new GstGLPlatform for WGL, EGL, GLX, etc.
2017-12-09 19:31:25 +00:00
Matthew Waters
538643e3c0
[606/906] determine the GL platform to use at runtime
...
- Make GstGLWindow subclassablerather than specified at compile time.
- Add GstGLWindowX11 for x11 windows and two subclasses, GstGLWindowX11GLX
and GstGLWindwX11EGL for GLX and EGL repectively. (win32 and cocoa
ports to come)
- Also cleanup GL library detection in configure.ac
2017-12-09 19:31:25 +00:00
Matthew Waters
9dd6570ca9
[605/906] shader: move to gst debugging
2017-12-09 19:31:25 +00:00
Matthew Waters
4c35d682c9
[603/906] update FSF address
2017-12-09 19:31:25 +00:00
Matthew Waters
9267372466
[601/906] fix typo causing shader compilation failure for uploading I420
2017-12-09 19:31:25 +00:00
Matthew Waters
d55bbf7f55
[600/906] docs: add docs for new objects and expand on some existing ones
2017-12-09 19:31:25 +00:00
Matthew Waters
7baddfbcbe
[599/906] GL|ES2: fix typos from recent changes and make downloading RGB formats work again
2017-12-09 19:31:25 +00:00
Matthew Waters
2a8de21658
[594/906] filter: update for up/download API changes and scaling fixes
2017-12-09 19:31:25 +00:00
Matthew Waters
09b60b563c
[592/906] memory: update for up/download API changes
2017-12-09 19:31:25 +00:00
Matthew Waters
776a5e536f
[591/906] mixer: save the upload object instead of querying for it every frame
2017-12-09 19:31:25 +00:00
Matthew Waters
39866ea830
[590/906] up/download: fix scaling on transfer
...
i.e. uploading from a 10x10 video frame to a 20x20 texture into another 30x30 videoframe
2017-12-09 19:31:25 +00:00
Matthew Waters
89569276c5
[587/906] mixer: mirror the changes done for filter
2017-12-09 19:31:25 +00:00
Matthew Waters
67f5b303c8
[586/906] fix up some debug statements to get them into the right categories
2017-12-09 19:31:25 +00:00
Matthew Waters
c7f49800e3
[583/906] deinterlace: change for new API
...
also allow elements to call the _filter_texture vfunc if they want
2017-12-09 19:31:25 +00:00
Matthew Waters
eed7e15ed2
[581/906] filter: add seperate filter function for operating on textures instead of buffers
2017-12-09 19:31:25 +00:00
Matthew Waters
fa5d1efaa3
[580/906] bufferpool: remove obselete gl meta buffer pool options
2017-12-09 19:31:25 +00:00
Matthew Waters
9306c201f8
[579/906] download: fix YV12 format
...
same as I420 but plane 1+2 swapped
2017-12-09 19:31:25 +00:00
Matthew Waters
75734e663c
[578/906] {up,down}load: add variants that can be called in the gl thread
2017-12-09 19:31:25 +00:00
Matthew Waters
574612f129
[576/906] remove uneeded GstGLMeta (use GstVideoMeta)
2017-12-09 19:31:25 +00:00
Matthew Waters
2de5a925c1
[575/906] filter: port to new upload/download
2017-12-09 19:31:25 +00:00
Matthew Waters
84ec07072d
[574/906] memory: implement transperent upload/download for data
...
(not async yet)
2017-12-09 19:31:25 +00:00
Matthew Waters
3ee54d3135
[573/906] add upload and download library objects
...
allows multiple upload pipelines that previously wasn't possible
(i.e. upload RGB and I420 and ... on the same GstGLDisplay)
2017-12-09 19:31:25 +00:00
Matthew Waters
3283e9e7de
[571/906] mixer: fix deadlock on shutdown
...
didn't reiterate over the sinkpad's displays and reactivate them causing a deadlock
2017-12-09 19:31:25 +00:00
Matthew
2dff52334c
[568/906] window: fix public definitions
2017-12-09 19:31:25 +00:00
Matthew
4a424d6d2c
[567/906] fix OpenGL|ES2 ifdef'ed code
2017-12-09 19:31:25 +00:00
Matthew Waters
6e6ee999a9
[564/906] glmemory: remove unused typedef
2017-12-09 19:31:24 +00:00
Matthew Waters
c4332505a9
[563/906] readd support for hanging GL pipelines e.g. ... ! gleffects ! fakesink
2017-12-09 19:31:24 +00:00
Matthew Waters
a1a653c8ed
[562/906] gldisplay: fix download of YUV formats
2017-12-09 19:31:24 +00:00
Matthew Waters
c0235ddafa
[561/906] gldisplay: fix endianess issues on RGB download
2017-12-09 19:31:24 +00:00
Matthew Waters
23ec206053
[559/906] glmixer: pass the mixpad's display to the querying element
2017-12-09 19:31:24 +00:00
Matthew Waters
9761f2cfa1
[555/906] Make the query for a GstGLDisplay a pad peer query
...
Allows the query to pass through bin boundaries and makes it possible for
arbitrary gl elements to be placed in bins.
2017-12-09 19:31:24 +00:00
Matthew Waters
c7ddead74b
[554/906] GstGLMemory: update for GstAllocator API changes
2017-12-09 19:31:24 +00:00
Matthew Waters
56bf6e2fb3
[544/906] fix memory leaks from not g_free()ing string returned by gst_element_get_name
2017-12-09 19:31:24 +00:00
Matthew Waters
7a79d684e2
[543/906] GstGLDisplay: fix segfault from GST_PTR_FORMAT trying to expand the object
2017-12-09 19:31:24 +00:00
Matthew Waters
83401761eb
[542/906] GstGLMixer: add allocation and bufferpool methods
...
based off GstBaseTransform
2017-12-09 19:31:24 +00:00
Matthew Waters
3f174671ec
[532/906] GstGLFilter: implement allocation vfuncs
2017-12-09 19:31:24 +00:00
Matthew Waters
e02e620055
[528/906] GstGLMeta: seperate upload/download/normal GL caps video formats
...
differentiate between upload, download and GL caps
2017-12-09 19:31:24 +00:00
Matthew Waters
38b6bdfa8b
[527/906] GstGLDisplay: add some trace debugging
2017-12-09 19:31:24 +00:00
Matthew Waters
0d5b8bbc38
[524/906] GstGLDisplay: rework the download code
...
data paramaters now take GstVideoFrame
remove redundant parameters
2017-12-09 19:31:24 +00:00
Matthew Waters
be177b01b7
[522/906] GstGLDisplay: add forgotten function definition
2017-12-09 19:31:24 +00:00
Matthew Waters
fe216ac6b2
[521/906] GstGLMemory: update for GstAllocator changes
2017-12-09 19:31:24 +00:00
Matthew Waters
590cf80c31
[520/906] GstGLMixer: fix for GstChildProxy changes
2017-12-09 19:31:24 +00:00
Matthew Waters
a8b1853755
[517/906] add GstGLBufferPool
...
which adds GstGLMeta to buffers
2017-12-09 19:31:24 +00:00
Matthew Waters
8527e1cd66
[516/906] add skeleton GstGLMeta
...
the GstVideoMeta _map/unmap functions still need implementing
2017-12-09 19:31:24 +00:00
Matthew Waters
6528aba8c9
[515/906] GstGLDisplay: rework gen_texture and upload
...
rename functions so that other code can create textures in the GL thread
change upload functions to take a GstVideoFrame
default to GLSL for upload conversion
2017-12-09 19:31:24 +00:00
Matthew Waters
ffdc6d496e
[514/906] add GstGLMemory and allocator
...
implement custom GstMemory for GL textures
currently map/unmap returns NULL although it might be favourable to upload/download/cache the image data
2017-12-09 19:31:24 +00:00
Matthew Waters
eb362969f1
[513/906] Remove GstGLBuffer (to be replaced by GstGLMeta)
2017-12-09 19:31:24 +00:00
Matthew Waters
25aa8a4042
[512/906] GstGLMixer: update for 1.0 based on the videomixer2 element in -good
2017-12-09 19:31:24 +00:00
Matthew Waters
3e18471e8e
[509/906] GstGLDisplay: update for 1.0
2017-12-09 19:31:24 +00:00
Matthew Waters
683c001f91
[504/906] GstGLFilter: update for 1.0
...
-fix up function definitions
-remove _prepare_output_buffer (functionality taken over by GstBufferPool).
2017-12-09 19:31:24 +00:00
Matthew Waters
f7bc5dcf83
[503/906] Rename GST_BOILERPLATE_* to G_DEFINE_TYPE_* and move _base_init into _class_init
2017-12-09 19:31:24 +00:00
Matthew Waters
1a034ba18d
[502/906] Update versioning for gstreamer 1.0
...
Renames GST_MAJORMINOR to GST_API_VERSION in build files
removes -lgstinterfaces from _LDADD flags
2017-12-09 19:31:24 +00:00
Raimo Järvi
563f0f2e57
[501/906] Fix building on 64 bit mingw-w64
...
https://bugzilla.gnome.org/show_bug.cgi?id=676428
2017-12-09 19:31:24 +00:00
Julien Isorce
20c429684e
[500/906] gldisplay: do not call glCheckFramebufferStatus if 0 is bound
...
Indeed it may return GL_FRAMEBUFFER_UNDEFINED if there is no
default framebuffer.
It seems to be the case on MacOSX
2017-12-09 19:31:24 +00:00
Julien Isorce
67bc74ec3f
[498/906] gldisplay: don't pass non-constant strings as printf format strings
...
Fixes 'format not a string literal and no format arguments' on darwin
2017-12-09 19:31:23 +00:00
Julien Isorce
e25b142e24
[497/906] filtershader: fix format compiler warnings
2017-12-09 19:31:23 +00:00
Julien Isorce
83b2f12c12
[495/906] glES2.0: properly use glDeleteShader
2017-12-09 19:31:23 +00:00
Julien Isorce
46eea6f943
[494/906] cmake build: use config.h from win32/common and add some guidelines
2017-12-09 19:31:23 +00:00
Julien Isorce
bd0982d057
[492/906] glwindow: properly fails if resource not found
2017-12-09 19:31:23 +00:00
Julien Isorce
badaaaec34
[491/906] glES2.0: properly fails if driver/kernel inconsistency
2017-12-09 19:31:23 +00:00
Julien Isorce
07df6a220d
[490/906] gldisplay: error out instead of g_assert
2017-12-09 19:31:23 +00:00
Julien Isorce
ef87b0e70d
[488/906] libvisual-gl: full compatibility with projectM-libvisual if libprojectM >= 2.0.1
...
Fix bug #310775
2017-12-09 19:31:23 +00:00
Julien Isorce
74526865c6
[486/906] libvisual-gl: add minimal support to libvisual plugins that uses Framebuffer objects
...
Fix bug #310775
gst-launch audiotestsrc ! libvisual_gl_projectM ! glimagesink is working
but for now you cannot append any other opengl filters between
libvisual_gl_projectM and glimagesink because our FBO is turned OFF.
It would require that libvisual allows to split rendering between
pass1,2,3... and final rendering. In order to unbind our FBO before
the passN, and then rebind it just before the final libvisual rendering.
2017-12-09 19:31:23 +00:00
Julien Isorce
0f54271129
[485/906] gstgldisplay: turn off texture binding and read buffer when downloading rgb is done
...
It fixes: (black image before)
gst-launch-0.10 audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! ximagesink
and
gst-launch-0.10 audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! glimagesink
2017-12-09 19:31:23 +00:00
Julien Isorce
96cce45c38
[483/906] glelements: do not leak parent when using gst_pad_get_parent
2017-12-09 19:31:23 +00:00
Julien Isorce
7c79cc5c41
[481/906] feature checking: error out instead of doing nothing if an OpenGL feature is not present
...
Fix bug #572767
2017-12-09 19:31:23 +00:00
Julien Isorce
b30da1699a
[480/906] win32 builds: add glshader filter sources to vs9 and codeblocks
...
Also fix some warnings from msvc9 and mingw-3.4.5
2017-12-09 19:31:23 +00:00
Руслан Ижбулатов
c0ebeccb8c
[479/906] gstglshadervariables: strtok_r is not multiplatform
...
Fix bug #664367
2017-12-09 19:31:23 +00:00
Wei Feng
aefca52574
[478/906] OpenGL ES 2.0: include glib.h to use G_BEGIN_DECLS in gstgles2.h
...
Fix bug #631019
2017-12-09 19:31:23 +00:00
Julien Isorce
ccaa9e883f
[477/906] OpenGL ES 2.0: fix build since glfiltershader changes
2017-12-09 19:31:23 +00:00
Antoni Silvestre
4ea2bf2087
[476/906] OpenGL ES 2.0: fix build and disable some examples
...
Fix bug #631019
2017-12-09 19:31:23 +00:00
Luc Deschenaux
500210b354
[471/906] glshader: add dynamic fragment shader filter
...
Also add fragment shader parser
Fix bug #600195
2017-12-09 19:31:23 +00:00
Julien Isorce
f008fa71ab
[467/906] tests: various build fixes
...
- cmake could not find glib
- put gtk variables at the beginning to avoid GL conflicts
- update examples to clutter-1.8
- use const instead of deprecated G_CONST_RETURN
- set max pending events to 0 to make cube example works again
2017-12-09 19:31:23 +00:00
Tim-Philipp Müller
4f09396824
[463/906] Add some more G_{BEGIN,END}_DECLS to public headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=637260
2017-12-09 19:31:23 +00:00
Stefan Kost
df480f3530
[462/906] various: add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed. Includes some gst-indent changes as well :/
2017-12-09 19:31:23 +00:00
Jan Schmidt
e013586f46
[459/906] Fix distcheck.
2017-12-09 19:31:23 +00:00
Julien Isorce
769e43a2e0
[456/906] glfilter/glmixer/gltestsrc/glupload: throw an element error if no parent bin
...
Fixes bug #602153
2017-12-09 19:31:23 +00:00
Julien Isorce
ade2526b8f
[455/906] glimagesink: handle pixel-aspect-ratio
2017-12-09 19:31:23 +00:00
Filippo Argiolas
306526a19f
[443/906] sobel: move some highly duplicated code into glfilter
...
Add a new convenience function in GstGLFilter that just draws an input
texture to a target texture using a simple shader with just a "tex"
uniform sampler.
Move draw_texture from glfiltersobel to glfilter. Still need to update
other plugins to this.
2017-12-09 19:31:23 +00:00
Julien Isorce
c390c30aac
[432/906] GstGLDisplay: this is GL_DEPTH24_STENCIL8_EXT, not GL_DEPTH24_STENCIL8_EXT
2017-12-09 19:31:23 +00:00
Pierre Pouzol
c9dfa9c111
[431/906] GstGLDisplay: enable stencil buffer when using framebuffer objects.
...
Fixes Bug #612159
2017-12-09 19:31:23 +00:00
Nicholas Panayis
dfc2d42b7a
[415/906] gstglwindow_win32: share opengl context in correct order
...
Allow to use the opengl context sharing feature if the original
context has been used already.
This is only possible on win32 with wglShareLists because on other
backends, the sharing is made when a context is created.
This new feature is only usefull when using external context
because gst-gl internally makes sure that the orginal context is not
already used when sharing it.
Fix bug #611067
2017-12-09 19:31:23 +00:00
Julien Isorce
b36b45e437
[412/906] Cocoa backend: improve support on GNUStep
2017-12-09 19:31:23 +00:00
Julien Isorce
0b6112c4a0
[411/906] gstglmixer: copy/past recent changes from gstvideomixer
2017-12-09 19:31:23 +00:00
Julien Isorce
4874b35304
[410/906] gstglmixer: inactivate shared gl context before to release ours
...
First, inactivate shared gl contexts known by each sink pad.
Then, destroy the gl context known by the glmixer.
Finally, re-activate shared gl contexts.
This is to satisfy the fact that no shared gl context must be current
when an opengl context is destroyed.
Moreover the application may hang or crash without those steps.
2017-12-09 19:31:23 +00:00
Julien Isorce
727191d7b6
[407/906] winCE backend: fix build
2017-12-09 19:31:22 +00:00
Julien Isorce
36a51c6e02
[406/906] glimagesink: add a client-data property
...
Also add it to glfilterapp.
Fixes #559131
2017-12-09 19:31:22 +00:00
Julien Isorce
32203f94ea
[405/906] glfilter: add external-opengl-context property
...
It repairs the cluttershare and sdlshare example
2017-12-09 19:31:22 +00:00
Jan Schmidt
3672b5922f
[403/906] gstglmixer: Initialise the debug category
...
Initialise the gstglmixer debug category before using it.
2017-12-09 19:31:22 +00:00
Julien Isorce
e70ed87aa8
[400/906] gstgldisplay: no need the I420 work around if ATI Mobility
...
fix #588653
2017-12-09 19:31:22 +00:00