Julien Isorce
2e22bb4560
[368/906] Cocoa backend: fix crash when resizing
...
Default implementation of NSOpenglView::update is not safe because it
just calls update on the opengl context whereas we are not in the gl thread.
Also fix the white flickering when resizing, because now we need to call
the draw callback manually when resizing.
2017-12-09 19:31:22 +00:00
Julien Isorce
e467ea29e9
[365/906] Cocoa backend: make sure that nsapp is initialized
...
gst-launch-0.10 videotestsrc ! tee name=t ! queue ! glimagesink t. ! queue ! glimagesink
now works properly on MacOSX
2017-12-09 19:31:22 +00:00
Julien Isorce
8d6e91838a
[364/906] make the cmake build work on MacOSX
...
We can now generate a Xcode project (or Unix Makfiles),
see INSTALL file
2017-12-09 19:31:22 +00:00
Julien Isorce
54ba5bccf5
[363/906] Cocoa backend: fix crash when closing
...
- All gstglwindow members are now modified only in the gl thread
to avoid thread concurrency
- OpenGL context is now properly clean
- fix a couple of things in implementation of xoverlay interface
2017-12-09 19:31:22 +00:00
Julien Isorce
b7162375a3
[362/906] make cocoa backend work on MacOSX
...
It works with both gst-launch and a cocoa app (non-embedded and embedded)
But there is still some problems:
- sometimes crash when closing
- flickering when resizing
- embedded mode not perfect
I will first make the CMake build work with cocoa backend
in order to generate a XCode project.
Then it should be easier to fix those issues.
2017-12-09 19:31:22 +00:00
Jan Schmidt
8884cfefa8
[358/906] gstgldisplay: Close a small race starting the display thread
...
Take the display lock before signalling the create-context cond
to ensure the caller has dropped the lock and is therefore listening
for the signal.
2017-12-09 19:31:22 +00:00
Jan Schmidt
4ddbded3a8
[357/906] x11: Don't crash when the X11 display is not available.
...
Error out cleanly instead of crashing when the X11 display can't
be contacted.
2017-12-09 19:31:22 +00:00
Jan Schmidt
3fbe0f0a98
[352/906] fix typo
...
Change GST_GL_DISPLAY_PROJECTION_PERSPECIVE to
GST_GL_DISPLAY_PROJECTION_PERSPECTIVE.
Re-indent a couple of files that needed it.
2017-12-09 19:31:22 +00:00
Julien Isorce
f3fef483ec
[350/906] fix window position when using xoverlay
...
x, y are the coordinates of the position inside
the new parent window.
Fixes #584877
2017-12-09 19:31:22 +00:00
Julien Isorce
ca1a2d33ca
[349/906] can switch xoverlays while playing
...
Fixes bug #584877
Before this commit calling "gst_x_overlay_set_xwindow_id" more
than one time, had no effect.
It mainly affects the glimagesink implementation.
But on win32 (and CE), some stuff has to be done to
release the old parent.
And add a switchxoverlay example where the user
can click on left/right part of the main window to
switch the xoverlay.
2017-12-09 19:31:21 +00:00
LRN
389982df17
[347/906] fix miscast of a pointer in SetWindowLongPtr
...
GCC 4.4.0 complains error: cast from pointer to integer of different size
Fixes #584678 .
2017-12-09 19:31:21 +00:00
Sebastian Dröge
3b0dacd8d6
[346/906] Fix linking by providing libtool the correct --tag parameter
2017-12-09 19:31:21 +00:00
Julien Isorce
de9f763bff
[337/906] Improve cluttershare example
...
Use clutter_threads_API.
When just using glupload from rgb, we have to be sure that
the upload texture is not in use in our gst gl context.
2017-12-09 19:31:21 +00:00
Julien Isorce
9f8473cce0
[336/906] [x11/x11ES] fix some pointer cast warnings
2017-12-09 19:31:21 +00:00
Julien Isorce
0a649b133d
[335/906] [cocoa] update since interface changed
2017-12-09 19:31:21 +00:00
Julien Isorce
f631cf4976
[334/906] [win32/winCE] fix some pointer cast warnings with mingw
...
And turn off deprecated Wp64 msvc compiler option.
2017-12-09 19:31:21 +00:00
Julien Isorce
d43fdd3daf
[333/906] add force-aspect-ratio support
2017-12-09 19:31:21 +00:00
Julien Isorce
d1bd71e82b
[331/906] indent and fix some compiler warnings
2017-12-09 19:31:21 +00:00
Julien Isorce
2eb9cb551c
[330/906] Can now share textures with an external gl context
...
The external opengl context must be specify when creating
our OpenGL context (glx) or just after (wgl).
When calling glXCreateContext or wglShareLists, the
external opengl context must not be current.
Then our gl context can be current in the gl thread while
the external gl context is current in an other thread.
See tests/examples/clutter/cluttershare.c
2017-12-09 19:31:21 +00:00
David Schleef
09704b9e70
[329/906] Build for Cocoa on darwin, with various fixes
2017-12-09 19:31:21 +00:00
Julien
095be23366
[327/906] fix init FBO's texture attachment on ES 2.0
2017-12-09 19:31:21 +00:00
Julien
fd2028d109
[326/906] add X backend for OpenGL ES 2.0
2017-12-09 19:31:21 +00:00
Julien Isorce
ad8b227ff7
[322/906] [download YUY2/UYVY] fix a regression
...
The call to glLoadIdentity was removed by mistake during
OpenGL ES 2.0 integration.
2017-12-09 19:31:21 +00:00
Julien Isorce
61a8f34442
[321/906] add OpenGL ES 2.x support.
...
In OpenGL 2.x for Embedded System, a lot of basic scene/draw functions
have been removed. It means that everything is made using vertex and
fragment shaders.
I have also added a gstglwindow backend for winCE that uses EGL
(Native Platform Graphics Intercace) (which is a full part of
OpenGL ES specification). It remove the use of wgl/glx functions.
2017-12-09 19:31:21 +00:00
Julien Isorce
3c92a741a4
[320/906] fix position and content rect
2017-12-09 19:31:21 +00:00
Julien Isorce
8a77e2d859
[319/906] [win32 backend] fix transmition message to the parent.
...
The Qt mouvexoverlay example shows how to rotate the cube
by moving (+click) the mouve over a qwidget using xoverlay
interface.
2017-12-09 19:31:21 +00:00
Julien Isorce
dbdc0fb9eb
[318/906] rename GNUmakefile(s) to GNUmakefile(s).gnustep
2017-12-09 19:31:21 +00:00
Julien Isorce
4ccd32c444
[317/906] implement gstglwindow for Cocoa (MacOS and GNUstep)
2017-12-09 19:31:21 +00:00
Julien Isorce
573f54433c
[315/906] add GNUstep build
2017-12-09 19:31:21 +00:00
David Schleef
2e2213fbd7
[310/906] Global reindent
...
Indent parameters:
INDENT_PARAMETERS="--braces-on-if-line \
--case-brace-indentation0 \
--case-indentation2 \
--braces-after-struct-decl-line \
--line-length80 \
--no-tabs \
--cuddle-else \
--dont-line-up-parentheses \
--honour-newlines \
--continuation-indentation4 \
--tab-size8 \
--indent-level2"
2017-12-09 19:31:21 +00:00
Sebastian Dröge
10494006b8
[309/906] Replay: Fix callbacks passed over XEvents on 64 bit architectures
...
Althought the XEvent's xclient.data.l array is an array of
longs they will be constrained to 32 bit by the X11 protocol.
On 64 bit architectures use two elements of the array to store
one pointer.
This fixes segfaults that happen at least for every example
on startup.
2017-12-09 19:31:21 +00:00
Julien Isorce
c83cbcd398
[306/906] fix CMake build and frozen CodeBlocks build
2017-12-09 19:31:21 +00:00
Julien Isorce
3b8429c2df
[304/906] only load RGBA files.png
2017-12-09 19:31:21 +00:00
Julien Isorce
c060a8896d
[301/906] depends on libpng instead of gdk_pixbuf
2017-12-09 19:31:21 +00:00
David Schleef
f0b62d760f
[298/906] Revert "Fix indention"
...
This reverts commit 96e4ab18c2cf9876f6c031b9aba6282d0bd45a93.
You should have asked first. And you would have been told "no",
because it causes people on development branches to do a huge
amount of extra work.
2017-12-09 19:31:21 +00:00
David Schleef
2f0e5b1dc4
[297/906] Revert "Fix callbacks passed over XEvents on 64 bit architectures"
...
This reverts commit 280771d09b58617b27201027de0e1194da376e72.
2017-12-09 19:31:21 +00:00
Sebastian Dröge
babd51c58f
[296/906] Fix callbacks passed over XEvents on 64 bit architectures
...
Althought the XEvent's xclient.data.l array is an array of
longs they will be constrained to 32 bit by the X11 protocol.
On 64 bit architectures use two elements of the array to store
one pointer.
This fixes segfaults that happen at least for every example
on startup.
2017-12-09 19:31:21 +00:00
Sebastian Dröge
809c2ec04c
[295/906] Fix indention
2017-12-09 19:31:21 +00:00
Sebastian Dröge
0068125ec8
[294/906] Fix format string compiler warnings by using G_GUINT64_FORMAT
2017-12-09 19:31:20 +00:00
David Schleef
71db1285d8
[291/906] Add check for GLEW_EXT_framebuffer_object
2017-12-09 19:31:20 +00:00
David Schleef
d98d188ad7
[290/906] Set GL_LIBS correctly in configure.ac
...
This doesn't detect the existence of libraries, which needs to
be fixed.
2017-12-09 19:31:20 +00:00
David Schleef
978ded841c
[289/906] build fixes for Windows libraries
2017-12-09 19:31:20 +00:00
Julien Isorce
e184ad8a58
[288/906] add more debug ouputs about GLSL and mesa
2017-12-09 19:31:20 +00:00
julien
20298ee810
[287/906] fix a regression about glXChooseVisual which failed when using mesa, so attributes must be less restrictives.
2017-12-09 19:31:20 +00:00
Julien Isorce
76b6fcab5b
[286/906] [win32] Register window class in gst_gl_window_class_init
2017-12-09 19:31:20 +00:00
Julien Isorce
6d2b8da3da
[285/906] fix gl framerate in gst caps. Consider position in xoverlay. Fix inversion bettween COLS and ROWS, and move windows.
2017-12-09 19:31:20 +00:00
Julien Isorce
0867343017
[284/906] workaround about the ATI shader compiler on linux (setlocale)
2017-12-09 19:31:20 +00:00
Julien Isorce
1087da7753
[283/906] better result in cube and doublecube example. And some clean up debug and comments
2017-12-09 19:31:20 +00:00
Julien Isorce
121153fd21
[282/906] update CMake build
2017-12-09 19:31:20 +00:00
Julien Isorce
a50b222367
[281/906] Make cube example work on x11. Finish TODO task 9.
2017-12-09 19:31:20 +00:00
Julien Isorce
e1fd4232ad
[280/906] Remove set_visible, because it's now automatically done when the first post redisplay comes.
2017-12-09 19:31:20 +00:00
Julien Isorce
7e3bc563e1
[279/906] finish set_xwindow_id (gst_gl_window_set_external_win_id): child is resized at the same time as the parent is.
2017-12-09 19:31:20 +00:00
Julien Isorce
1daf54222f
[278/906] Implement set_xwindow_id (gst_gl_window_set_external_window_id).
2017-12-09 19:31:20 +00:00
Julien Isorce
aab706c46c
[277/906] open x client connection for sender only at start up
2017-12-09 19:31:20 +00:00
Julien Isorce
312d0f588a
[276/906] better deal with last pending custom cb and destroy_context_cb
2017-12-09 19:31:20 +00:00
Julien Isorce
128315ae60
[275/906] Make sure the gl ressoures are destroyed before to destroy gl window
2017-12-09 19:31:20 +00:00
Julien Isorce
b19684bbd0
[274/906] add some other debug outputs and checks
2017-12-09 19:31:20 +00:00
Julien Isorce
158f30bab1
[273/906] add some debug outputs about Visual and XVisualInfo
2017-12-09 19:31:20 +00:00
Julien Isorce
8840d306c4
[272/906] add a visible member to deal better with the first expose events
2017-12-09 19:31:20 +00:00
Julien Isorce
f878b84f90
[271/906] revert last commit because the crash comes from libselinux
2017-12-09 19:31:20 +00:00
Julien Isorce
daa5e24b41
[270/906] fix use of different Display structures which point on the same display name
2017-12-09 19:31:20 +00:00
Julien Isorce
c487389cfe
[269/906] Better deal with XNextEvent and XSendEvent
2017-12-09 19:31:20 +00:00
Julien Isorce
57488b1a32
[268/906] Better deal with Atoms
2017-12-09 19:31:20 +00:00
Julien Isorce
51231595c7
[267/906] Get ride of calling sleep in gl thread X loop
2017-12-09 19:31:20 +00:00
Julien Isorce
80efa96e52
[266/906] secure close when clicking on the cross
2017-12-09 19:31:20 +00:00
Julien Isorce
3f54cd9d94
[264/906] Rewrite gstglwindow_x11.c because X API is not thread safe.
2017-12-09 19:31:20 +00:00
Julien Isorce
14d3d10e07
[263/906] discard x custom messages which are of date
2017-12-09 19:31:20 +00:00
Julien Isorce
745e20a2e1
[262/906] Works on linux but still some bugs. Fix autotools build.
2017-12-09 19:31:20 +00:00
Julien Isorce
5ec4972d3d
[261/906] implement quit x message loop
2017-12-09 19:31:20 +00:00
Julien Isorce
baedf3a65b
[260/906] try to make XSendEvent blocker (as win32 SendMessage is)
2017-12-09 19:31:19 +00:00
Julien Isorce
cb83e88c0c
[259/906] continue x implementation (but still not tested)
2017-12-09 19:31:19 +00:00
Julien Isorce
bbc1c6b14f
[258/906] setup x message loop
2017-12-09 19:31:19 +00:00
Julien Isorce
da3c0fd570
[257/906] begin gstglwindow_x11.c implementation
2017-12-09 19:31:19 +00:00
Julien Isorce
c4200fe1a0
[256/906] fix CMake an CodeBlocks builds
2017-12-09 19:31:19 +00:00
Julien Isorce
85fa075eae
[255/906] fix window closure when using gst xoverlay interface
2017-12-09 19:31:19 +00:00
Julien Isorce
9169b822e7
[254/906] Better handle when the parent window is resizing, and cleanup some code
2017-12-09 19:31:19 +00:00
Julien Isorce
c7ca0d5c2f
[253/906] win32: re-implement supports for gst xoverlay interface, on this branch
2017-12-09 19:31:19 +00:00
Julien Isorce
f9756b85d2
[252/906] avoid a dead lock on window closure
2017-12-09 19:31:19 +00:00
Julien Isorce
fc9479d289
[251/906] Properly clean OpenGL contexts
2017-12-09 19:31:19 +00:00
Julien Isorce
a6fdb20154
[250/906] win32: basic stuffs are working now on this branch with this new deep design (gstglwindow)
2017-12-09 19:31:19 +00:00
Julien Isorce
c4c9897f16
[249/906] begin GstGLWindow in order to totally remove gstfreeglut
2017-12-09 19:31:19 +00:00
Filippo Argiolas
32de0e6e91
[243/906] Support for missing videoformats in glupload
...
Add support for missing alpha channeled videoformats (RGBA, BGRA,
ARGB, ABGR) in gst_gl_display_do_upload_fill.
2017-12-09 19:31:19 +00:00
Julien Isorce
3d54d22894
[242/906] Fix crash in filters when going to NULL with no display
2017-12-09 19:31:19 +00:00
Filippo Argiolas
f18ba293cb
[233/906] no need to explicit set the debug category if default one is used
2017-12-09 19:31:19 +00:00
Filippo Argiolas
6c04333f11
[230/906] explicit check g_getenv return value to be not NULL
2017-12-09 19:31:19 +00:00
Julien Isorce
ec8aa615e5
[229/906] update authors from the CVS repository
2017-12-09 19:31:19 +00:00
Filippo Argiolas
34663eccd9
[228/906] output shaders info log only if GST_GL_SHADER_DEBUG env variable is set. Should fix TODO task 18
2017-12-09 19:31:19 +00:00
Julien Isorce
cd20053491
[226/906] check on win32 that every tests/pipelines and tests/examples (generic, gtk, qt) still work
2017-12-09 19:31:19 +00:00
Julien Isorce
40cd0281a4
[225/906] fix a regression that made the gltestsrc element not working
2017-12-09 19:31:19 +00:00
Julien Isorce
a125004d82
[224/906] fix a regression about MESA YCbCr colorspace conversion
2017-12-09 19:31:19 +00:00
Julien Isorce
ff87048836
[223/906] fix a regression (sometimes a FBO is needed even if the video source is rgb)
2017-12-09 19:31:19 +00:00
Julien Isorce
69159fa0af
[222/906] Finish TODO task 17
2017-12-09 19:31:19 +00:00
Julien
5759b60ba3
[221/906] fix g_int_hash -> g_direct_hash
2017-12-09 19:31:19 +00:00
Julien Isorce
bb8ba84647
[220/906] Use a better key for the pool of textures
2017-12-09 19:31:19 +00:00
Julien Isorce
cdffac5606
[219/906] Use a gst debug category for GstGLDisplay instead of g_print, gst-launch-0.10 --gst-debug=gldisplay:3 videotestsrc ! glimagesink
2017-12-09 19:31:19 +00:00
Julien
88b6f0a3cf
[218/906] The CMake build now works on my Kubuntu-KDE4.1.1
2017-12-09 19:31:19 +00:00
Julien Isorce
3d6116ee45
[217/906] Add cmake build http://www.cmake.org . See CMake install instructions in the INSTALL file. (I have not correctly configured yet the CMake build for unix, BE patient)
2017-12-09 19:31:19 +00:00
Julien Isorce
0d6c956cfb
[212/906] add a glbumper (bump mapping filter through GLSL) that exposes how to use both vertex and fragment shaders
2017-12-09 19:31:19 +00:00
Julien Isorce
b4c0527eff
[211/906] Fix upload AYUV and YV12 (a regression in last commits)
2017-12-09 19:31:18 +00:00
julien User
97a78f8580
[210/906] get ride of a wrong color on nvidia/linux when converting yv12 to rgb through GLSL
2017-12-09 19:31:18 +00:00