Matthew Waters
01e016d3f4
[674/906] feature: try and catch more GL extension functions
...
if we don't find the extension in core GL, try the extension version anyway
2014-03-15 18:36:54 +01:00
Matthew Waters
9e87a794dd
[673/906] feature: add gstreamer license
2014-03-15 18:36:54 +01:00
Matthew Waters
6aac3abe72
[672/906] display: constify GstGLFuncs *gl
2014-03-15 18:36:54 +01:00
Matthew Waters
7f3aaf504b
[671/906] win32: #include GL/glext.h on windows
...
also add some GL default variables if some GL types are not defined
2014-03-15 18:36:54 +01:00
Matthew Waters
ab0abf649f
[670/906] display: replace glib deprecated api
2014-03-15 18:36:54 +01:00
Matthew Waters
9e8eb32080
[669/906] window: seperate object creation and context creation
2014-03-15 18:36:53 +01:00
Matthew Waters
8b59321a7e
[668/906] shader: fix gles2 segfault
2014-03-15 18:36:53 +01:00
Matthew Waters
7fdc174bbb
[658/906] mixer: fix eos timestamp check
2014-03-15 18:36:53 +01:00
Matthew Waters
3d75c3d5af
[655/906] download: remove erronous ReadBuffer call
...
- it was causing segfaults in mesa
- we didn't set the readbuffer so we shouldn't reset it
2014-03-15 18:36:53 +01:00
Matthew Waters
3ceb7949a8
[652/906] bumper: port to non-GLEW + arrays
2014-03-15 18:36:53 +01:00
Matthew Waters
6bee1ffdd3
[651/906] up/download: fix some typos when removing GLEW
2014-03-15 18:36:52 +01:00
Matthew Waters
a6504181a3
[650/906] filter: fix _draw_texture()'s wrong vertices
2014-03-15 18:36:52 +01:00
Matthew Waters
7b03a572d9
[647/906] remove dependecy on glew
2014-03-15 18:36:52 +01:00
Matthew Waters
2f21abac2e
[646/906] some gl header fixes/additions
2014-03-15 18:36:52 +01:00
Matthew Waters
fcfe6b90a9
[645/906] fix gles2 compilation
2014-03-15 18:36:52 +01:00
Matthew Waters
4f90cd8a64
[644/906] update .gitignore for some new files
2014-03-15 18:36:52 +01:00
Matthew Waters
f4ccde9bf1
[643/906] display: privatise most of the struct
2014-03-15 18:36:52 +01:00
Matthew Waters
fa3c3b8434
[642/906] add gstglconfig.h for apps to find out what our capabilites are
...
ie libgstgl can be compiled with any combination of opengl/gles2
2014-03-15 18:36:52 +01:00
Matthew Waters
4e60858f01
[641/906] display: feature check for GL extension functions
2014-03-15 18:36:52 +01:00
Matthew Waters
fa44030aa3
[640/906] build: add missing file to built sources
2014-03-15 18:36:52 +01:00
Matthew Waters
05d26c78e0
[639/906] add get_proc_address implementations for egl and glx
2014-03-15 18:36:52 +01:00
Matthew Waters
4afc9f01e0
[638/906] window: add get_proc_address + stub for retrieving gl functions
2014-03-15 18:36:52 +01:00
Matthew Waters
d993ab7e4f
[637/906] x11_egl: add prelim support for choosing opengl or gles
2014-03-15 18:36:52 +01:00
Matthew Waters
809646505c
[636/906] window_x11: compact debug info
2014-03-15 18:36:52 +01:00
Matthew Waters
41518af6f2
[635/906] fixup compile errors
2014-03-15 18:36:52 +01:00
Matthew Waters
88a85e7e3b
[634/906] wayland egl: deactivate context before we destroy it
...
avoids a segfault with dri drivers
2014-03-15 18:36:51 +01:00
Matthew Waters
757618a986
[633/906] display: fail properly in context creation in order to minimize a race condition
...
previously, on context creation, when we failed to get a valid context
we would still atempt to run the window mainloop as well as setting an error
on the display. This would cause the calling element to finalize the display
and therefore attempt to quit the window mainloop. However the mainloop
may not have started running. Thus when the window mainloop ran it would
never a get a quit message and never end.
2014-03-15 18:36:51 +01:00
Matthew Waters
ca661a7719
[631/906] remove redefinition warnings in compiling tests
2014-03-15 18:36:51 +01:00
Matthew Waters
b11d8b8664
[630/906] display: add gl api checking
...
i.e. check for cases where the window wants a different API than
what the library was compiled with
2014-03-15 18:36:51 +01:00
Matthew Waters
76dfdd656f
[629/906] window: add GError for error handling of context creation
2014-03-15 18:36:51 +01:00
Matthew Waters
86844030d6
[627/906] shader: check for invalid objects
2014-03-15 18:36:51 +01:00
Matthew Waters
df8c489ada
[625/906] add vtable for opengl functions
...
The vtable provides the ability for one to compile (but not link)
against both OpenGL and GL|ES and starts the move away from GLEW
2014-03-15 18:36:51 +01:00
Matthew Waters
cc8e54541b
[624/906] OPENGL_ES2 => HAVE_GLES2 and add HAVE_OPENGL
...
use GstGLAPI to determine which code paths to execute.
perform some cleanups
2014-03-15 18:36:51 +01:00
Matthew Waters
bbd3b4dbd9
[623/906] move GL includes into a single file
2014-03-15 18:36:51 +01:00
Matthew Waters
59131a0eba
[622/906] add missing GL_STENCIL_ATTACHMENT for gles2 compatability
2014-03-15 18:36:51 +01:00
Matthew Waters
fd998dc0a5
[621/906] GstGLRendererAPI => GstGLAPI and get GstGLAPI from a window
2014-03-15 18:36:51 +01:00
Matthew Waters
46082f2c02
[620/906] wayland_egl: attempt at resizing the video
2014-03-15 18:36:51 +01:00
Matthew Waters
411a87fb0b
[619/906] fix typo for win32 debug variables
2014-03-15 18:36:51 +01:00
Matthew Waters
4a07c73c0c
[618/906] add wayland-egl window backend
2014-03-15 18:36:50 +01:00
Matthew Waters
e357b4aa13
[617/906] fix 'set but not used' compiler warnings
2014-03-15 18:36:50 +01:00
Matthew Waters
1679a0be7e
[616/906] move window-specific code into seperate subfolders
2014-03-15 18:36:50 +01:00
Matthew Waters
7102b5b6ce
[615/906] preliminary support for Win32 EGL
2014-03-15 18:36:50 +01:00
Matthew Waters
d7d1627229
[614/906] try GLX first when using ANY | OPENGL | OPENGL3
2014-03-15 18:36:50 +01:00
Matthew Waters
48ccfcc918
[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.
2014-03-15 18:36:50 +01:00
Matthew Waters
c080c6c910
[612/906] remove GNUstep makefiles
2014-03-15 18:36:50 +01:00
Matthew Waters
6781fdbcff
[611/906] cocoa port of determining gl platform at runtime
2014-03-15 18:36:50 +01:00
Matthew Waters
78d7965882
[610/906] WindowX11EGL: remove get_platform call
2014-03-15 18:36:50 +01:00
Matthew Waters
3cf1b078bc
[609/906] win32 port of determining GL platform at runtime
...
- add GstGLWindowWin32 and GstGLWindowWin32WGL along the same lines as the
X11 variants
2014-03-15 18:36:50 +01:00
Matthew Waters
e47b04c460
[608/906] add GST_GL_PLATFORM_ANY for choosing any platform
2014-03-15 18:36:50 +01:00
Matthew Waters
0c66b39861
[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.
2014-03-15 18:36:50 +01:00
Matthew Waters
1984fa3b7f
[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
2014-03-15 18:36:50 +01:00
Matthew Waters
13ec239924
[605/906] shader: move to gst debugging
2014-03-15 18:36:50 +01:00
Matthew Waters
93f7e993ad
[603/906] update FSF address
2014-03-15 18:36:50 +01:00
Matthew Waters
d01755fcc5
[601/906] fix typo causing shader compilation failure for uploading I420
2014-03-15 18:36:49 +01:00
Matthew Waters
12bf1cfa27
[600/906] docs: add docs for new objects and expand on some existing ones
2014-03-15 18:36:49 +01:00
Matthew Waters
11508f6f7a
[599/906] GL|ES2: fix typos from recent changes and make downloading RGB formats work again
2014-03-15 18:36:49 +01:00
Matthew Waters
e969f6d904
[594/906] filter: update for up/download API changes and scaling fixes
2014-03-15 18:36:49 +01:00
Matthew Waters
fad1b94c41
[592/906] memory: update for up/download API changes
2014-03-15 18:36:49 +01:00
Matthew Waters
9086b0c870
[591/906] mixer: save the upload object instead of querying for it every frame
2014-03-15 18:36:49 +01:00
Matthew Waters
4716682c55
[590/906] up/download: fix scaling on transfer
...
i.e. uploading from a 10x10 video frame to a 20x20 texture into another 30x30 videoframe
2014-03-15 18:36:49 +01:00
Matthew Waters
4cbefd4f09
[587/906] mixer: mirror the changes done for filter
2014-03-15 18:36:49 +01:00
Matthew Waters
28863c4bb4
[586/906] fix up some debug statements to get them into the right categories
2014-03-15 18:36:49 +01:00
Matthew Waters
d9d8946351
[583/906] deinterlace: change for new API
...
also allow elements to call the _filter_texture vfunc if they want
2014-03-15 18:36:48 +01:00
Matthew Waters
e89266b664
[581/906] filter: add seperate filter function for operating on textures instead of buffers
2014-03-15 18:36:48 +01:00
Matthew Waters
558e10be0f
[580/906] bufferpool: remove obselete gl meta buffer pool options
2014-03-15 18:36:48 +01:00
Matthew Waters
cfafeea297
[579/906] download: fix YV12 format
...
same as I420 but plane 1+2 swapped
2014-03-15 18:36:48 +01:00
Matthew Waters
5aa048e53b
[578/906] {up,down}load: add variants that can be called in the gl thread
2014-03-15 18:36:48 +01:00
Matthew Waters
8f4c270ae1
[576/906] remove uneeded GstGLMeta (use GstVideoMeta)
2014-03-15 18:36:48 +01:00
Matthew Waters
fa9a4d6862
[575/906] filter: port to new upload/download
2014-03-15 18:36:48 +01:00
Matthew Waters
5d1395f435
[574/906] memory: implement transperent upload/download for data
...
(not async yet)
2014-03-15 18:36:48 +01:00
Matthew Waters
88cb7e3060
[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)
2014-03-15 18:36:48 +01:00
Matthew Waters
aebcacecf8
[571/906] mixer: fix deadlock on shutdown
...
didn't reiterate over the sinkpad's displays and reactivate them causing a deadlock
2014-03-15 18:36:48 +01:00
Matthew
ed1f04acab
[568/906] window: fix public definitions
2014-03-15 18:36:47 +01:00
Matthew
20406c1de3
[567/906] fix OpenGL|ES2 ifdef'ed code
2014-03-15 18:36:47 +01:00
Matthew Waters
863f21b1f6
[564/906] glmemory: remove unused typedef
2014-03-15 18:36:47 +01:00
Matthew Waters
3f94f31c3d
[563/906] readd support for hanging GL pipelines e.g. ... ! gleffects ! fakesink
2014-03-15 18:36:47 +01:00
Matthew Waters
6de0b127d7
[562/906] gldisplay: fix download of YUV formats
2014-03-15 18:36:47 +01:00
Matthew Waters
7627755581
[561/906] gldisplay: fix endianess issues on RGB download
2014-03-15 18:36:47 +01:00
Matthew Waters
de25a454ce
[559/906] glmixer: pass the mixpad's display to the querying element
2014-03-15 18:36:47 +01:00
Matthew Waters
ce6c6b5065
[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.
2014-03-15 18:36:47 +01:00
Matthew Waters
0ef8174881
[554/906] GstGLMemory: update for GstAllocator API changes
2014-03-15 18:36:47 +01:00
Matthew Waters
3affb44884
[544/906] fix memory leaks from not g_free()ing string returned by gst_element_get_name
2014-03-15 18:36:46 +01:00
Matthew Waters
972cd421c7
[543/906] GstGLDisplay: fix segfault from GST_PTR_FORMAT trying to expand the object
2014-03-15 18:36:46 +01:00
Matthew Waters
fe1ce6a7ff
[542/906] GstGLMixer: add allocation and bufferpool methods
...
based off GstBaseTransform
2014-03-15 18:36:46 +01:00
Matthew Waters
a44326f86e
[532/906] GstGLFilter: implement allocation vfuncs
2014-03-15 18:36:45 +01:00
Matthew Waters
ec782a5f27
[528/906] GstGLMeta: seperate upload/download/normal GL caps video formats
...
differentiate between upload, download and GL caps
2014-03-15 18:36:45 +01:00
Matthew Waters
796d326b74
[527/906] GstGLDisplay: add some trace debugging
2014-03-15 18:36:45 +01:00
Matthew Waters
0e5daa29f7
[524/906] GstGLDisplay: rework the download code
...
data paramaters now take GstVideoFrame
remove redundant parameters
2014-03-15 18:36:45 +01:00
Matthew Waters
1ec68db8f0
[522/906] GstGLDisplay: add forgotten function definition
2014-03-15 18:36:45 +01:00
Matthew Waters
2141571de9
[521/906] GstGLMemory: update for GstAllocator changes
2014-03-15 18:36:45 +01:00
Matthew Waters
3ff83c0f37
[520/906] GstGLMixer: fix for GstChildProxy changes
2014-03-15 18:36:45 +01:00
Matthew Waters
69997e311f
[517/906] add GstGLBufferPool
...
which adds GstGLMeta to buffers
2014-03-15 18:36:45 +01:00
Matthew Waters
53dddca0f6
[516/906] add skeleton GstGLMeta
...
the GstVideoMeta _map/unmap functions still need implementing
2014-03-15 18:36:44 +01:00
Matthew Waters
369905e5bd
[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
2014-03-15 18:36:44 +01:00
Matthew Waters
1331611094
[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
2014-03-15 18:36:44 +01:00
Matthew Waters
71c6aae707
[513/906] Remove GstGLBuffer (to be replaced by GstGLMeta)
2014-03-15 18:36:44 +01:00
Matthew Waters
e07dd2908e
[512/906] GstGLMixer: update for 1.0 based on the videomixer2 element in -good
2014-03-15 18:36:44 +01:00
Matthew Waters
528816def4
[509/906] GstGLDisplay: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
4611fd3301
[504/906] GstGLFilter: update for 1.0
...
-fix up function definitions
-remove _prepare_output_buffer (functionality taken over by GstBufferPool).
2014-03-15 18:36:44 +01:00
Matthew Waters
d66bd69b36
[503/906] Rename GST_BOILERPLATE_* to G_DEFINE_TYPE_* and move _base_init into _class_init
2014-03-15 18:36:44 +01:00