Julien Isorce
954b3a52c8
[391/906] Cocoa: fix backend since recent changes
...
Before, the window size was given at its creation. Now, it's done at
the drawing step because it's only relevant when there is a glimagesink
element in the pipeline.
2014-03-15 18:36:37 +01:00
Julien Isorce
62f961a28e
[389/906] fix codeblocks build on win32
2014-03-15 18:36:37 +01:00
Julien Isorce
42720ef3ff
[388/906] just fix builds and indent
2014-03-15 18:36:37 +01:00
Julien Isorce
db7d436bd8
[387/906] glmixer: add a glmixer base element
...
glmixer can be seen as a glfilter except it handles N requested
sink pads.
Each sink pad and the src pad are video/x-raw-gl.
glmixer is responsible for managing different framerates from inputs.
It uses OpenGL context sharing. It means that each input is in its
own OpenGL context shared together and shared with the OpenGL context
of the ouput gl chain.
Also add a glmosaic which is an example of implementation of glmixer.
For now glmosaic is a cube but it will be fixed in the next commits.
For now the glmixer has some weird behaviours in some configurations
but it will be improved in the next commits.
The autotools builds is temporarly broken since those changes
have been made on win32.
2014-03-15 18:36:37 +01:00
Julien Isorce
65f4d40e6d
[385/906] rewrite the way a gstgldisplay is transmited to the gl elements
...
Before, a gstgldisplay was instancied by the gl src in terms of gl chain.
And then the next element got it through the first gstglbuffer.
Now, this is done though queries.
All glelements get their ref on a gstgldisplay in READY state.
This rewrite is mainly a first step to be able to share OpenGL context hold
by the gstgldisplay using more complex glelements.
For example, with a glvideomixer. The associated gstgldisplay of each gl chain
of the sink pads will share their OpenGL context.
2014-03-15 18:36:37 +01:00
Stefan Kost
3b0a88850d
[384/906] build: use <stdio.h> / "stdio.h"
2014-03-15 18:36:37 +01:00
Stefan Kost
252b406547
[383/906] build: include <stdio.h> when using printf & co.
2014-03-15 18:36:37 +01:00
Julien Isorce
3700180345
[382/906] ES2.0: remove warnings
...
Partially fix #593786
2014-03-15 18:36:37 +01:00
Julien Isorce
c2c15214a8
[381/906] EGL and GLX:: set a minimum depth size
2014-03-15 18:36:37 +01:00
Julien Isorce
30631c4626
[378/906] gldisplay: avoid to request gl thread when deleting a texture
...
A texture is not destroyed when when we are done with it.
This texture is just added to the texture pool in order to be
re-used. In this case no OpenGL code is executed so we do not need to
request gl thread.
2014-03-15 18:36:36 +01:00
Julien Isorce
192bf749ea
[377/906] gldisplay: avoid to request gl thread when generating a texture
...
Thanks to the texture pool the gl textures are re-used.
When re-using one, no opengl code is executed so do not need
to request gl thread.
2014-03-15 18:36:36 +01:00
Stefan Kost
1cb459d4d5
[376/906] build: support openGLES on linux via autofoo. Partialy fixes #593786
...
Add a pkg-config check for opengl and if not found assume opengl-es. If user has
none of both one still get build error later on (there is no pkg-config for
opengl-es).
Add more files to EXTRA dist and build the opengles variant if selected.
Simmilar changes could be done for the winCE backend.
2014-03-15 18:36:36 +01:00
Julien Isorce
d9c055246f
[369/906] define missing glew macro on older versions
2014-03-15 18:36:36 +01:00
Julien Isorce
3107266d81
[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.
2014-03-15 18:36:36 +01:00
Julien Isorce
ca891db2a6
[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
2014-03-15 18:36:36 +01:00
Julien Isorce
579b74d845
[364/906] make the cmake build work on MacOSX
...
We can now generate a Xcode project (or Unix Makfiles),
see INSTALL file
2014-03-15 18:36:36 +01:00
Julien Isorce
89fe233c52
[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
2014-03-15 18:36:36 +01:00
Julien Isorce
a9ab2abea4
[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.
2014-03-15 18:36:36 +01:00
Jan Schmidt
1a070f378b
[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.
2014-03-15 18:36:35 +01:00
Jan Schmidt
b1dccdb13c
[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.
2014-03-15 18:36:35 +01:00
Jan Schmidt
f5ac0a784d
[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.
2014-03-15 18:36:35 +01:00
Julien Isorce
ae4f96ec93
[350/906] fix window position when using xoverlay
...
x, y are the coordinates of the position inside
the new parent window.
Fixes #584877
2014-03-15 18:36:35 +01:00
Julien Isorce
6292d5af16
[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.
2014-03-15 18:36:35 +01:00
LRN
d1893e0e7e
[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 .
2014-03-15 18:36:35 +01:00
Sebastian Dröge
64e59060e2
[346/906] Fix linking by providing libtool the correct --tag parameter
2014-03-15 18:36:35 +01:00
Julien Isorce
58e392f129
[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.
2014-03-15 18:36:34 +01:00
Julien Isorce
d0d5eb1f22
[336/906] [x11/x11ES] fix some pointer cast warnings
2014-03-15 18:36:34 +01:00
Julien Isorce
fe24b86d8a
[335/906] [cocoa] update since interface changed
2014-03-15 18:36:34 +01:00
Julien Isorce
911cf141c4
[334/906] [win32/winCE] fix some pointer cast warnings with mingw
...
And turn off deprecated Wp64 msvc compiler option.
2014-03-15 18:36:34 +01:00
Julien Isorce
bcc33ab716
[333/906] add force-aspect-ratio support
2014-03-15 18:36:34 +01:00
Julien Isorce
f735c06c4a
[331/906] indent and fix some compiler warnings
2014-03-15 18:36:34 +01:00
Julien Isorce
87a1652216
[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
2014-03-15 18:36:34 +01:00
David Schleef
b47fc234ef
[329/906] Build for Cocoa on darwin, with various fixes
2014-03-15 18:36:34 +01:00
Julien
bf0b1fa1ab
[327/906] fix init FBO's texture attachment on ES 2.0
2014-03-15 18:36:34 +01:00
Julien
bb0781a389
[326/906] add X backend for OpenGL ES 2.0
2014-03-15 18:36:34 +01:00
Julien Isorce
1385371e6c
[322/906] [download YUY2/UYVY] fix a regression
...
The call to glLoadIdentity was removed by mistake during
OpenGL ES 2.0 integration.
2014-03-15 18:36:33 +01:00
Julien Isorce
ec0bb66fe9
[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.
2014-03-15 18:36:33 +01:00
Julien Isorce
37b29ac10c
[320/906] fix position and content rect
2014-03-15 18:36:33 +01:00
Julien Isorce
b5778a90d7
[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.
2014-03-15 18:36:33 +01:00
Julien Isorce
9584a5ddfd
[318/906] rename GNUmakefile(s) to GNUmakefile(s).gnustep
2014-03-15 18:36:33 +01:00
Julien Isorce
49c903d156
[317/906] implement gstglwindow for Cocoa (MacOS and GNUstep)
2014-03-15 18:36:33 +01:00
Julien Isorce
b2143adee3
[315/906] add GNUstep build
2014-03-15 18:36:33 +01:00
David Schleef
d015d5862d
[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"
2014-03-15 18:36:33 +01:00
Sebastian Dröge
3fbd8bbd24
[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.
2014-03-15 18:36:32 +01:00
Julien Isorce
4d4e3ad4f9
[306/906] fix CMake build and frozen CodeBlocks build
2014-03-15 18:36:32 +01:00
Julien Isorce
92e733dce0
[304/906] only load RGBA files.png
2014-03-15 18:36:32 +01:00
Julien Isorce
994a25ca7e
[301/906] depends on libpng instead of gdk_pixbuf
2014-03-15 18:36:32 +01:00
David Schleef
43e574aa8f
[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.
2014-03-15 18:36:32 +01:00
David Schleef
5a82aee272
[297/906] Revert "Fix callbacks passed over XEvents on 64 bit architectures"
...
This reverts commit 280771d09b58617b27201027de0e1194da376e72.
2014-03-15 18:36:32 +01:00
Sebastian Dröge
1b531037c5
[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.
2014-03-15 18:36:32 +01:00
Sebastian Dröge
369b1d4ff2
[295/906] Fix indention
2014-03-15 18:36:32 +01:00
Sebastian Dröge
59c3f33743
[294/906] Fix format string compiler warnings by using G_GUINT64_FORMAT
2014-03-15 18:36:32 +01:00
David Schleef
b15277ba0b
[291/906] Add check for GLEW_EXT_framebuffer_object
2014-03-15 18:36:31 +01:00
David Schleef
caccdc1ee8
[290/906] Set GL_LIBS correctly in configure.ac
...
This doesn't detect the existence of libraries, which needs to
be fixed.
2014-03-15 18:36:31 +01:00
David Schleef
e4b26b46fd
[289/906] build fixes for Windows libraries
2014-03-15 18:36:31 +01:00
Julien Isorce
e141366934
[288/906] add more debug ouputs about GLSL and mesa
2014-03-15 18:36:31 +01:00
julien
0e45b730e8
[287/906] fix a regression about glXChooseVisual which failed when using mesa, so attributes must be less restrictives.
2014-03-15 18:36:31 +01:00
Julien Isorce
7975cac1ea
[286/906] [win32] Register window class in gst_gl_window_class_init
2014-03-15 18:36:31 +01:00
Julien Isorce
4b53383385
[285/906] fix gl framerate in gst caps. Consider position in xoverlay. Fix inversion bettween COLS and ROWS, and move windows.
2014-03-15 18:36:31 +01:00
Julien Isorce
0d2c7b20fd
[284/906] workaround about the ATI shader compiler on linux (setlocale)
2014-03-15 18:36:31 +01:00
Julien Isorce
98acd38039
[283/906] better result in cube and doublecube example. And some clean up debug and comments
2014-03-15 18:36:31 +01:00
Julien Isorce
0ada2fab05
[282/906] update CMake build
2014-03-15 18:36:31 +01:00
Julien Isorce
1fbc72393c
[281/906] Make cube example work on x11. Finish TODO task 9.
2014-03-15 18:36:31 +01:00
Julien Isorce
c8c7f8733b
[280/906] Remove set_visible, because it's now automatically done when the first post redisplay comes.
2014-03-15 18:36:31 +01:00
Julien Isorce
34e4a534e2
[279/906] finish set_xwindow_id (gst_gl_window_set_external_win_id): child is resized at the same time as the parent is.
2014-03-15 18:36:31 +01:00
Julien Isorce
a8105b91a6
[278/906] Implement set_xwindow_id (gst_gl_window_set_external_window_id).
2014-03-15 18:36:31 +01:00
Julien Isorce
ed96a2f5ad
[277/906] open x client connection for sender only at start up
2014-03-15 18:36:31 +01:00
Julien Isorce
4a2f97e4e5
[276/906] better deal with last pending custom cb and destroy_context_cb
2014-03-15 18:36:31 +01:00
Julien Isorce
3dd5eb98e6
[275/906] Make sure the gl ressoures are destroyed before to destroy gl window
2014-03-15 18:36:30 +01:00
Julien Isorce
f2c3f8baa3
[274/906] add some other debug outputs and checks
2014-03-15 18:36:30 +01:00
Julien Isorce
94f74d4b50
[273/906] add some debug outputs about Visual and XVisualInfo
2014-03-15 18:36:30 +01:00
Julien Isorce
4ffac649e9
[272/906] add a visible member to deal better with the first expose events
2014-03-15 18:36:30 +01:00
Julien Isorce
968e1dabb3
[271/906] revert last commit because the crash comes from libselinux
2014-03-15 18:36:30 +01:00
Julien Isorce
8e4c8b2c45
[270/906] fix use of different Display structures which point on the same display name
2014-03-15 18:36:30 +01:00
Julien Isorce
e7c8f724e1
[269/906] Better deal with XNextEvent and XSendEvent
2014-03-15 18:36:30 +01:00
Julien Isorce
6eb98ba7ad
[268/906] Better deal with Atoms
2014-03-15 18:36:30 +01:00
Julien Isorce
3b0a4180c1
[267/906] Get ride of calling sleep in gl thread X loop
2014-03-15 18:36:30 +01:00
Julien Isorce
1a6b2ce780
[266/906] secure close when clicking on the cross
2014-03-15 18:36:30 +01:00
Julien Isorce
747e2cf0de
[264/906] Rewrite gstglwindow_x11.c because X API is not thread safe.
2014-03-15 18:36:30 +01:00
Julien Isorce
d7b959a1e4
[263/906] discard x custom messages which are of date
2014-03-15 18:36:30 +01:00
Julien Isorce
d404163d79
[262/906] Works on linux but still some bugs. Fix autotools build.
2014-03-15 18:36:30 +01:00
Julien Isorce
c683760189
[261/906] implement quit x message loop
2014-03-15 18:36:30 +01:00
Julien Isorce
bc1d62d089
[260/906] try to make XSendEvent blocker (as win32 SendMessage is)
2014-03-15 18:36:30 +01:00
Julien Isorce
714054a647
[259/906] continue x implementation (but still not tested)
2014-03-15 18:36:30 +01:00
Julien Isorce
a07ce6dbb3
[258/906] setup x message loop
2014-03-15 18:36:30 +01:00
Julien Isorce
cfd7f1be38
[257/906] begin gstglwindow_x11.c implementation
2014-03-15 18:36:29 +01:00
Julien Isorce
fbdf2deda0
[256/906] fix CMake an CodeBlocks builds
2014-03-15 18:36:29 +01:00
Julien Isorce
9be9daa754
[255/906] fix window closure when using gst xoverlay interface
2014-03-15 18:36:29 +01:00
Julien Isorce
3f4aa11d82
[254/906] Better handle when the parent window is resizing, and cleanup some code
2014-03-15 18:36:29 +01:00
Julien Isorce
f4bfade861
[253/906] win32: re-implement supports for gst xoverlay interface, on this branch
2014-03-15 18:36:29 +01:00
Julien Isorce
5a84fd49a9
[252/906] avoid a dead lock on window closure
2014-03-15 18:36:29 +01:00
Julien Isorce
2c9bb405a0
[251/906] Properly clean OpenGL contexts
2014-03-15 18:36:29 +01:00
Julien Isorce
c330210648
[250/906] win32: basic stuffs are working now on this branch with this new deep design (gstglwindow)
2014-03-15 18:36:29 +01:00
Julien Isorce
42255b64aa
[249/906] begin GstGLWindow in order to totally remove gstfreeglut
2014-03-15 18:36:29 +01:00
Filippo Argiolas
8599642d37
[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.
2014-03-15 18:36:29 +01:00
Julien Isorce
353a06d9a0
[242/906] Fix crash in filters when going to NULL with no display
2014-03-15 18:36:29 +01:00
Filippo Argiolas
f14db54179
[233/906] no need to explicit set the debug category if default one is used
2014-03-15 18:36:28 +01:00
Filippo Argiolas
41e5676c47
[230/906] explicit check g_getenv return value to be not NULL
2014-03-15 18:36:28 +01:00
Julien Isorce
0f4bae01c3
[229/906] update authors from the CVS repository
2014-03-15 18:36:28 +01:00
Filippo Argiolas
30b33ab63f
[228/906] output shaders info log only if GST_GL_SHADER_DEBUG env variable is set. Should fix TODO task 18
2014-03-15 18:36:28 +01:00
Julien Isorce
e8abbdaaa7
[226/906] check on win32 that every tests/pipelines and tests/examples (generic, gtk, qt) still work
2014-03-15 18:36:28 +01:00
Julien Isorce
de5ba4b7f2
[225/906] fix a regression that made the gltestsrc element not working
2014-03-15 18:36:28 +01:00
Julien Isorce
9b18be0019
[224/906] fix a regression about MESA YCbCr colorspace conversion
2014-03-15 18:36:28 +01:00
Julien Isorce
51cdfc6682
[223/906] fix a regression (sometimes a FBO is needed even if the video source is rgb)
2014-03-15 18:36:28 +01:00
Julien Isorce
72b90292eb
[222/906] Finish TODO task 17
2014-03-15 18:36:27 +01:00
Julien
6ad3704c30
[221/906] fix g_int_hash -> g_direct_hash
2014-03-15 18:36:27 +01:00
Julien Isorce
a9c118c148
[220/906] Use a better key for the pool of textures
2014-03-15 18:36:27 +01:00
Julien Isorce
597fe26a1e
[219/906] Use a gst debug category for GstGLDisplay instead of g_print, gst-launch-0.10 --gst-debug=gldisplay:3 videotestsrc ! glimagesink
2014-03-15 18:36:27 +01:00
Julien
a38424f3be
[218/906] The CMake build now works on my Kubuntu-KDE4.1.1
2014-03-15 18:36:27 +01:00
Julien Isorce
fde783262f
[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)
2014-03-15 18:36:27 +01:00
Julien Isorce
10853e1c2f
[212/906] add a glbumper (bump mapping filter through GLSL) that exposes how to use both vertex and fragment shaders
2014-03-15 18:36:27 +01:00
Julien Isorce
e7f1a18965
[211/906] Fix upload AYUV and YV12 (a regression in last commits)
2014-03-15 18:36:27 +01:00
julien User
450dd45a6e
[210/906] get ride of a wrong color on nvidia/linux when converting yv12 to rgb through GLSL
2014-03-15 18:36:27 +01:00
julien User
ff67654533
[209/906] fix warnings
2014-03-15 18:36:27 +01:00
Julien Isorce
38dc928a7e
[208/906] fix upload AYUV, regression during the 2 last commits
2014-03-15 18:36:27 +01:00
Julien Isorce
dc96363485
[207/906] oups, fix my mistake on last commit
2014-03-15 18:36:27 +01:00
unknown
c8fb510e4f
[206/906] Do not use frame buffer object when "input video is RGB" or when "GLSL is not available and YCbCr is available". So frame buffer object is not a plugin requirement anymore. So I decreased the OpengGL version from 1.4 to 1.2 (maybe less?)
2014-03-15 18:36:27 +01:00
Julien Isorce
b1007f02cb
[205/906] use a GHash table instead of a GData for the texture pool
2014-03-15 18:36:26 +01:00
Julien Isorce
bf17388f63
[204/906] get ride of a bug on ATI related to YV12 to rgb conversion through GLSL and add an example
2014-03-15 18:36:26 +01:00
Filippo Argiolas
9a25ffce4c
[201/906] fix a signedness warning
2014-03-15 18:36:26 +01:00
Julien Isorce
6c532328f0
[200/906] get ride of a ATI bug related to GLSL colorspace conversion for I420 and YV12 to rgb
2014-03-15 18:36:26 +01:00
Filippo Argiolas
fad976d7b7
[171/906] import fxtest (little gtk app to easily test effects) from cvs branch, fixed rgbtocurve.
2014-03-15 18:36:25 +01:00
Julien Isorce
fd192ec957
[157/906] move thread_do_upload_make from thread_do_upload to thread_init_upload
2014-03-15 18:36:24 +01:00
Julien Isorce
d0203c1172
[156/906] fix a crash that could happens when using at least 2 gl context and when closing a window on linux
2014-03-15 18:36:24 +01:00
Filippo Argiolas
a595635904
[153/906] Try to genereate textures within gstglfilterblur to see if the new thread_use_fbo works both with textures from the pool and custom ones
2014-03-15 18:36:24 +01:00
Filippo Argiolas
02a21f80ab
[152/906] remove an unneeded (really?) glTexImage
2014-03-15 18:36:24 +01:00
Julien Isorce
11f620a96a
[151/906] ISO C90
2014-03-15 18:36:24 +01:00
Julien Isorce
c0f13fd869
[150/906] glTexImage2D(w, h, NULL) is now called only one time (mem alloc)
2014-03-15 18:36:23 +01:00
Filippo Argiolas
a8552d4795
[149/906] same as previous commit
2014-03-15 18:36:23 +01:00
Filippo Argiolas
9f4d1de046
[148/906] Fix rgb issue. Current program should always be set to 0 when a new texture is attached to a fbo.
2014-03-15 18:36:23 +01:00
Julien Isorce
d6ef47cd9c
[146/906] remove filteredge
2014-03-15 18:36:23 +01:00
Filippo Argiolas
b0f30ff125
[143/906] Add init and reset callbacks in GstGLFilter to run arbitrary gl code at start and stop. Useful to init and cleanup custom gl resources.
2014-03-15 18:36:23 +01:00
Filippo Argiolas
396afd5ef3
[142/906] Add a generic action to be able to execute arbitrary gl code within the gl thread with less pain
2014-03-15 18:36:23 +01:00
Filippo Argiolas
77c0b28031
[141/906] some steps towards simplification. added a convenience function to gstglfilter and some comment here and there
2014-03-15 18:36:23 +01:00
Filippo Argiolas
a53754cc28
[140/906] Fix GL_STACK_OVERFLOW
2014-03-15 18:36:23 +01:00
Julien Isorce
47554d341c
[139/906] fix warnings when compiling upload/download shaders
2014-03-15 18:36:23 +01:00
Filippo Argiolas
df427d2681
[138/906] is that videoformat pointer really needed?
2014-03-15 18:36:23 +01:00
Filippo Argiolas
570b7f2005
[137/906] Don't reallocate texture memory every time in upload_* functions.
2014-03-15 18:36:23 +01:00
Filippo Argiolas
8c9cb5939e
[136/906] reindent gstgldisplay with gstreamer-c-mode
2014-03-15 18:36:23 +01:00
Julien Isorce
21be1c07de
[133/906] finish todo task 4
2014-03-15 18:36:22 +01:00
Julien Isorce
8049be3a60
[132/906] make the plugin properly shutdown when one of the check requirements failed
2014-03-15 18:36:22 +01:00
Filippo Argiolas
c3d0a2f9b4
[131/906] fix warnings (unused vars)
2014-03-15 18:36:22 +01:00
Julien Isorce
3d3ba97c4d
[130/906] use GstGLShader in the GLSL colorspace conversion
2014-03-15 18:36:22 +01:00
Julien Isorce
44ec9c01dd
[128/906] add GstGLShader stuffs in the vs8 project, fix laplacian fragment code to make it compile on ATI, and fix check function about Opengl and Glew version
2014-03-15 18:36:22 +01:00
Filippo Argiolas
aeadf6bc0e
[127/906] Imported GstGLShader from cvs branch. Added a demo laplacian convolution filter to demonstrate how this can be integrated with minimum effort.
2014-03-15 18:36:22 +01:00
David Schleef
a4400cf12b
[126/906] Change some guints to GLuints because of warnings on OS/X.
2014-03-15 18:36:22 +01:00
David Schleef
50b8417097
[125/906] Add libraries as appropriate to fix compilation
2014-03-15 18:36:22 +01:00
Julien Isorce
af16a51ee2
[123/906] X Specific: better implementation of the gst_gl_set_window_id
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@584 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
bfd8d294b4
[122/906] better implementation of gst_gl_display_set_window_id for win32. (change the window of the current wglcontext instead of reinit everything, and so avoid some problems about opengl objects that could be init in the previous wglcontext and so no usable in the newer wglcontext, it what the case for the first texture) This newer implementation has not been made yet on linux
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@582 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
f2ea87e951
[121/906] avoid use of GLSL functions when fragment_shader is not available
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@581 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
3505ae339c
[120/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@580 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
21e2cff9cc
[119/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@579 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
951460cdd1
[118/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@573 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
6b2276b9ab
[116/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@563 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
90f411fe53
[115/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@556 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
5acf54ccf9
[114/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@555 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
37a0568858
[113/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@554 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
652914f17b
[112/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@552 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
faf7dcbc6d
[111/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@548 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
31b67c52b1
[109/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@543 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
e7f5afee87
[108/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@540 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
04946b3f1d
[107/906] fix opengl version checker
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@534 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
646aaf4cd3
[105/906] up Sobel filter and gl/glew version checker
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@518 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
f0a68351b3
[104/906] start to add a glfilteredge that proceeds edge detection using GLSL
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@517 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
129652c1ce
[096/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@508 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
1a7b6d5bb3
[095/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@507 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
63dfe24588
[094/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@506 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
3778a85f01
[092/906] Finish to revive the gltestsrc. Next step is to do some refactoring.
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@504 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
49d9bdca0e
[091/906] start to revive the gltestsrc
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@503 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
268d9cd781
[088/906] fix some caps negociations those pipelines works fine : gst-launch-0.10 -v videotestsrc ! video/x-raw-yuv, width=320, height=240 ! glgraphicmaker ! video/x-raw-gl, width=720 , height=576 ! glfiltercube ! glimagesink and gst-launch-0.10 -v videotestsrc ! video/x-raw-yuv, width=320, height=240 ! glgraphicmaker ! video/x-raw-gl, width=720 , height=576 ! glimagesink
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@500 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
752357e283
[087/906] glfilter can accept to have an input size different than the out put size : video/x-raw-gl, width=w1, height=w1 ! glfilter ! video/x-raw-gl, width=w2, height=w2 ! (fix every examples)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@499 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
e1c1317087
[086/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@498 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
6c3eb8de43
[085/906] fix regressions about glvideomaker.
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@497 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
f7b69d5233
[084/906] add a glfilterapp which holds the client draw and reshape callbacks (some "wanted" regressions about the glvideomaker, have been done with this version. Will be fix in next commits)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@496 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
43e4bedbe5
[083/906] finish to implement the glfilter: example : gst-launch-0.10 videotestsrc num_buffers = 100 ! glgraphicmaker ! glfiltercube ! glimagesink
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@495 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
59dc400b7e
[082/906] glfilter can request, use and reject a FBO (step 1)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@494 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
31be382a90
[081/906] start to add a glfilter
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@493 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
05f98c7346
[080/906] fix gstfreeglut linux implementation to correctly handle the gstxoverlay interface
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@486 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
18020765cb
[079/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@478 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
56370703e5
[077/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@475 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
1de711496b
[076/906] check OpenGL and Glew versions
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@474 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
ede863197a
[075/906] indent
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@451 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
607548be2d
[074/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@446 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
4759f9847a
[073/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@445 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
19c124d258
[072/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@438 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
8e3e42b9f7
[071/906] remove all warnings
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@437 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
870fff7ac8
[070/906] implement and fix onClose: when a user click on the cross of an internal window (there is not this issue when using the gstxoverlay interface)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@436 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
76fa1292f8
[069/906] add gstreamer license
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@435 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
f509c88675
[066/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@430 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
4511a3c0bd
[065/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@428 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
50a08f10b3
[063/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@423 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:18 +01:00
Julien Isorce
a5ff5ff14e
[062/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@421 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:18 +01:00
David Schleef
f1744c26ec
[061/906] First SVN commit. This commit is a hack to make git-rebase work
2014-03-15 18:36:18 +01:00
Tim-Philipp Müller
1d59ab7b37
[060/906] * gst-libs/gst/gl/gstglbuffer.c: (gst_gl_buffer_format_from_video_format): Fix compiler warning if there are video format enums gstglbuffer doesn't know about yet. * gst-libs/gst/gl/gstgldisplay.c: (gst_gl_display_upload_texture_rectangle), (gst_gl_display_draw_texture): Fix printf format for 64-bit integers.
2014-03-15 18:36:18 +01:00
Tim-Philipp Müller
7fbd185eb5
[058/906] * gst-libs/gst/gl/Makefile.am: The library needs to link against libgstvideo-0.10. * gst/gl/Makefile.am: The plugin does not (I think) need to link against GL or libgstvideo, since our new gstreamer GL library already does that, but it does need to link against our brand-new libgstgl-0.10.
2014-03-15 18:36:18 +01:00
David Schleef
0a3e152339
[056/906] * configure.ac: Readd pre-pkgconfig OpenGL detection, since pkgconfig requires Mesa from git master. * gst/gl/glimagesink.c: * gst/gl/gstopengl.c: Move debug category initialization to element. * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: * gst/gl/gstglfilter.c: * gst/gl/gstglfilter.h: Move glfilter to library. * pkgconfig/gstreamer-plugins-gl.pc.in: Add gstreamer-base-0.10 as a requirement. * po/en.po: Update.
2014-03-15 18:36:18 +01:00
Tim-Philipp Müller
38699b8db5
[055/906] * configure.ac: * docs/Makefile.am: * gst-libs/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst/gl/Makefile.am: * tests/Makefile.am: Fix compilation in uninstalled setup and some distcheck-y bits (not all though).
2014-03-15 18:36:18 +01:00
David Schleef
46f9f1a828
[054/906] Fixes to make project compile. Probably still doesn't work. * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst/Makefile.am: * gst/gl/Makefile.am: * gst/gl/gstgltestsrc.c: * po/LINGUAS: * win32/MANIFEST:
2014-03-15 18:36:18 +01:00
David Schleef
3308a6e8c6
[053/906] Add project infrastructure. Not complete, doesn't work. * .cvsignore: * AUTHORS: * COPYING: * COPYING.LIB: * INSTALL: * Makefile.am: * NEWS: * README: * RELEASE: * REQUIREMENTS: * autogen.sh: * configure.ac: * docs/.cvsignore: * docs/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: * docs/version.entities.in: * ext/Makefile.am: * gst-libs/Makefile.am: * gst-libs/gst/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst-plugins-gl.doap: * gst-plugins-gl.spec.in: * gst/Makefile.am: * m4/.cvsignore: * m4/Makefile.am: * pkgconfig/.cvsignore: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-plugins-gl-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-gl.pc.in: * sys/Makefile.am: * tests/Makefile.am: * tests/check/Makefile.am: * tests/examples/Makefile.am: * tests/icles/Makefile.am: * tools/Makefile.am: * win32/common/config.h.in:
2014-03-15 18:36:18 +01:00
David Schleef
be12ae8167
[052/906] * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstglupload.c: Handle xoverlay exposes correctly. This means glimagesink works correctly most of the time in totem (fullscreening being an execption). Doesn't handle expose events directly to the GL window.
2014-03-15 18:36:18 +01:00
David Schleef
97116dd0d0
[051/906] * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstopengl.c: Reenable video/x-raw-rgb and x-raw-yuv for glimagesink. Enable vblank synchronization. Remove unused code.
2014-03-15 18:36:18 +01:00
David Schleef
694ae09876
[049/906] * configure.ac: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstglconvert.c: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilter.h: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: Major cleanup of code. Convert glupload to BaseTransform. Handle caps negotiation mostly correctly. Reenable in build.
2014-03-15 18:36:18 +01:00
David Schleef
87c262d1c3
[047/906] * sys/glsink/gltestsrc.c: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: Convert gldownload to BaseTransform. Make glfilterexample visually interesting. Add support for various formats to downloading. Fix a few places where we leak GL state to other elements (bad, but hard to prevent).
2014-03-15 18:36:18 +01:00
David Schleef
8abaf6f1dd
[046/906] * sys/glsink/BUGS: * sys/glsink/Makefile.am: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstglconvert.c: * sys/glsink/gstgldisplay.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilter.h: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Remove code that handles non-texture buffers. Add a GstGLBufferFormat type that corresponds to how to use the texture, not the original video format. Convert gstflfilter.c into a base class, add glfilterexample and glconvert elements. * sys/glsink/color_matrix.c: Minor ramblings about color conversion matrices.
2014-03-15 18:36:17 +01:00
David Schleef
27c5fb1f81
[045/906] * sys/glsink/Makefile.am: * sys/glsink/gltestsrc.c: * sys/glsink/gltestsrc.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstgltestsrc.h: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Add gltestsrc element, a duplicate of videotestsrc that uses GL rendering to create images. More cleanup.
2014-03-15 18:36:17 +01:00
David Schleef
8e95439b75
[044/906] * sys/glsink/gstglbuffer.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: Clean up code. Fix a few leaks.
2014-03-15 18:36:17 +01:00
David Schleef
6e4a16f9a1
[043/906] * sys/glsink/Makefile.am: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: Rename glvideo.[ch] to gstgldisplay.[ch].
2014-03-15 18:36:17 +01:00
David Schleef
ff954bcaff
[042/906] * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglupload.c: Rewrite a bunch of code to use textures as the intermediate instead of renderbuffers. upload, download, filtering all work.
2014-03-15 18:36:17 +01:00
David Schleef
07780031bc
[041/906] * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglupload.c: A careful read of the documentation reveals that I can't use renderbuffers as textures. Duh. Checkpoint because I'm about to rewrite a bunch of code.
2014-03-15 18:36:17 +01:00
David Schleef
21437bba7d
[040/906] * sys/glsink/Makefile.am: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Switch to using framebuffer_objects instead of GLXPixmaps, because that's what my driver supports. Remove GLDrawable, since GstGLDisplay now has a default drawable and context.
2014-03-15 18:36:17 +01:00
David Schleef
dd67fc9b27
[037/906] * sys/glsink/Makefile.am: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glvideo.c: Add vblank synchronization. Isn't really working on my driver. :(
2014-03-15 18:36:17 +01:00
Stefan Ringel
fd8bda1c03
dvbsrc: mpegts: change bandwidth to DVBv5 values
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=725463
2014-03-15 18:33:18 +01:00
Sebastian Dröge
dbb42d914f
uridownloader: Fix string order in warning message
2014-03-13 14:41:06 +01:00
Sebastian Dröge
73b188cfb9
uridownload: Handle no buffers before EOS as error instead of crashing
2014-03-07 16:24:18 +01:00
Sebastian Dröge
cd02546089
hlsdemux: Implement handling of byte ranges
2014-03-06 16:36:10 +01:00
Sebastian Dröge
6fb3427729
uridownloader: Fix debug output to describe the new reality
2014-02-27 12:02:19 +01:00
Sebastian Dröge
3fd5b74f73
uridownloader: Warning messages are not fatal
...
Also they need to be parsed with gst_message_parse_warning(),
gst_message_parse_error() does not work on them.
2014-02-27 11:53:51 +01:00
Stefan Ringel
40e7bfd35d
docs: mpegts: add missed docs
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=725278
2014-02-27 08:48:17 +01:00
Julien Isorce
966fb81db0
eglglessink: move GstEGLImageBufferPool to gstegl lib
...
https://bugzilla.gnome.org/show_bug.cgi?id=706054
2014-02-25 17:29:18 +00:00
Jesper Larsen
a9b1fdd948
mpegts: Add constructor for dvb service descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Jesper Larsen
d43e7173d8
mpegts: Add support for creation of SDT
...
https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Jesper Larsen
3fe1608e83
mpegts: Add transport_stream_id to GstMpegTsSDT
...
The transport_stream_id is contained in the subtable extension.
Introduce a variable for readability.
https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Edward Hervey
63145f4576
mpegts: Fix descriptor checks
...
Only use g_return_val_if_fail on provided direct arguments. The others get
checked all the time.
https://bugzilla.gnome.org/show_bug.cgi?id=724464
2014-02-25 10:19:23 +01:00
Jesper Larsen
e28b6fd523
mpegts: network_name: Check converted length
...
Check the length of the name argument after it has been converted.
https://bugzilla.gnome.org/show_bug.cgi?id=723953
2014-02-24 16:01:11 +01:00
Brendan Long
cd3c3ebf01
mpegts: Add gst_mpegts_section_get_data, to allow us to get the original binary section data.
...
https://bugzilla.gnome.org/show_bug.cgi?id=724255
2014-02-20 19:19:03 +01:00
Edward Hervey
142233d917
mpegts: Add size guards for descriptors where neeeded
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724464
2014-02-20 19:08:33 +01:00
Edward Hervey
4190a1717a
mpeg-ts: Rename private function
...
Calling it _desc_checks when it was in fact used for sections was a
tad confusing ...
2014-02-20 18:14:51 +01:00
Stefan Ringel
beb31d127b
mpegts: Add support for content descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:55:37 +01:00
Stefan Ringel
792fc1cf01
mpegts: Add support for component descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:55:12 +01:00
Stefan Ringel
347ac5fbd7
mpegts: Add support for extended event desriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:54:37 +01:00
Stefan Ringel
e6cb996cea
mpegts: Add support for DVB terrestrial delivery system descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724069
2014-02-16 10:13:53 +01:00
Sebastian Dröge
a1d9f6c796
uridownloader: Keep alive connections if the source supports that
2014-02-13 10:44:58 +01:00
Sebastian Dröge
c76ea2919f
uridownloader: Re-use old source element if possible
...
Allows to implement keep-alive handling in the source element.
2014-02-13 10:06:48 +01:00
Sebastian Dröge
d436844434
uridownloader: Fix potential deadlock
...
The streaming thread might use our lock, so shutting
down the element while holding that lock calls for problems.
2014-02-12 18:06:43 +01:00
Sebastian Dröge
8cd6208b7d
uridownloader: Shutdown the source element before unlinking it
...
Otherwise we might get warnings about pushing to unlinked pads.
Based on a patch by Andoni Morales.
2014-02-12 18:01:10 +01:00
Sebastian Dröge
2a38c1409b
uridownloader: Add support for compressed downloads
...
Very useful for playlists, less useful for media files.
2014-02-12 13:08:29 +01:00
Sebastian Dröge
3726c00b95
uridownloader: Reset cancelled state after fetching an URI
...
Otherwise it will never ever be able to fetch anything after an
error until the user resets it manually.
2014-02-11 15:26:01 +01:00
Sebastian Dröge
d445374067
uridownloader: Provide some more details about errors if downloading fails
2014-02-11 14:13:30 +01:00
Jesper Larsen
603714a405
mpegts: pmt: Detect descriptor length correct
2014-02-08 18:41:06 +01:00
Jesper Larsen
f1c8de4bc2
mpegts: Correctly check for PAT,PMT,CAT,TSDT
2014-02-08 18:38:55 +01:00
Jesper Larsen
972f7ea71f
mpegts: Fix some packetizing bugs
...
- Length of NIT stream descriptors was not detected correct
- Reserved bits was not set according to EN 300 468, ISO/IEC 13818-1
- Also set output data size if the section was previously packetized
https://bugzilla.gnome.org/show_bug.cgi?id=723892
2014-02-08 16:59:47 +01:00
Edward Hervey
042c8924b6
dvb-descriptor: Remove unneeded increment
2014-02-07 11:53:38 +01:00
Edward Hervey
63348811d2
dvb-descriptor: Fix comparision
...
we want to stop if one OR the other is NULL.
2014-02-07 11:53:28 +01:00
Jesper Larsen
dc968163da
mpegts: Updated docs with new API
2014-02-06 16:01:35 +01:00
Jesper Larsen
b7d256b4c2
mpegts: Support registration and custom descriptor
...
Support for registration descriptor (0x05)
Add function to create a descriptor with custom tag and data
2014-02-06 15:55:46 +01:00
Jesper Larsen
05bf952384
mpegts: Add creation of DVB Subtitling descriptor
...
Descriptor tag is 0x59
2014-02-06 15:55:40 +01:00
Jesper Larsen
cfb4da7215
mpegts: Support parsing of DVB Teletext descriptor
...
Descriptor tag is 0x56
2014-02-06 15:50:34 +01:00
Jesper Larsen
ffb51c2123
mpegts: Add support for creating PAT/PMT
2014-02-06 15:50:28 +01:00
Jesper Larsen
fccfc76805
mpegts: Add program_number to GstMpegTsPMT
2014-02-06 15:30:48 +01:00
Jesper Larsen
dd449c38e6
mpegts: Add network name descriptor construction
...
Add function to create a Network Name DVB descriptor.
2014-02-06 15:30:48 +01:00
Jesper Larsen
8c26d69e2f
mpegts: Add support for creating a NIT section
...
Functions that will enable user to create Network Information Tables.
2014-02-06 15:30:42 +01:00
Jesper Larsen
4632ccd5be
mpegts: Add network_id to GstMpegTsNIT
...
The network_id is stored in the subtable extension. Make a field
in the GstMpegTsNIT for better code readability
2014-02-06 14:11:53 +01:00
Jesper Larsen
8f429c6c6e
mpegts: Add functions to send sections as events
...
Added function that enables the user to send a GstMpegTsSection as
an event to a GstElement. (i.e. mpegtsmux)
2014-02-06 14:00:33 +01:00
Jesper Larsen
930cde73a7
mpegts: Add functions to packetize section
...
Sections needs to be packetized for use in i.e. mpegtsmux.
These functions handles the generic common parts of a GstMpegTsSection
2014-02-06 14:00:28 +01:00
Jesper Larsen
b1c5143b79
mpegts: Add init functions for descriptor/section
2014-02-06 12:18:13 +01:00
Jesper Larsen
4630dfda05
mpegts: Add function to encode UTF8 strings
...
This can be used to create descriptors with appropriate character maps
2014-02-06 12:18:13 +01:00
Jesper Larsen
465dea6f32
mpegts: Use big endian UCS-2 coding
...
Parsing of control codes requires a big endian character map
2014-02-06 12:18:13 +01:00
Jesper Larsen
73c82e3f1c
mpegts: Add support for two-way iconv conversions
...
To use in conversions from UTF-8 to another character map
2014-02-06 12:18:13 +01:00
Duncan Palmer
06dd8839f4
uridownloader: Fix race condition between EOS handling and downloading a range
...
https://bugzilla.gnome.org/show_bug.cgi?id=723134
2014-02-04 12:53:00 +01:00
Duncan Palmer
06fec6709d
uridownloader: Always release the object lock in gst_uri_downloader_fetch_uri_with_range()
...
even if downloader->priv->urisrc is not set. This avoids deadlock under some
some conditions on cancel.
https://bugzilla.gnome.org/show_bug.cgi?id=723127
2014-01-29 20:38:57 +01:00
Edward Hervey
274387e8e9
codecparsers: Don't use gst_ as prefix for private symbols
...
Otherwise they get exposed/accessible in the resulting .so
And make check-exports will complain
2014-01-29 10:50:40 +01:00
Mark Nauwelaerts
1122b56ff6
mpegts: install but nodist for generated header
2014-01-26 14:42:52 +01:00
Thiago Santos
61192a1619
codecparsers: refactor common nal parsing to nalutils
...
Moves common code from h264 and h265 to a separate file
2014-01-24 09:30:35 -03:00
Aurélien Zanelli
af78b45979
h264parse: Fix multiple SEI messages in one SEI RBSP parsing.
...
An SEI RBSP could contains more than one SEI message as specified in
7.4.2.3.1.
This commit change the parser API: the gst_h264_parser_parse_sei()
function now create and fill a GArray containing GstH264SEIMessage.
https://bugzilla.gnome.org/show_bug.cgi?id=721715
2014-01-23 20:18:53 +01:00
Thiago Santos
24c87b18c2
h265parser: remove trailling 0x00 bytes as the spec doesn't allow them
...
Just like h264, the spec doesn't allow the last bytes of a NAL to be 0x00.
So remove it as it is probably just padding.
This is related to https://bugzilla.gnome.org/show_bug.cgi?id=721384
2014-01-22 10:27:01 -03:00
Thiago Santos
4f0fc9a16f
h264parser: remove trailling 0x00 bytes as the spec doesn't allow them
...
The spec states that the last byte of a NAL 'shall not' be 0x00
and it is allowed for byte-stream format to add padding 0x00 for
alignment.
So our parser should strip any trailling 0x00.
https://bugzilla.gnome.org/show_bug.cgi?id=721384
2014-01-22 08:36:30 -03:00
duhui.lee
686c2f8e79
h265parser: Initialize pointer correctly that is never assigned but freed in error cases
...
Fixes crash on broken streams.
https://bugzilla.gnome.org/show_bug.cgi?id=722669
2014-01-21 09:58:18 +01:00
duhui.lee
13a397a0b9
h265parser: Fix segfault when parsing HRD parameter
...
https://bugzilla.gnome.org/show_bug.cgi?id=722240
2014-01-20 10:04:23 +01:00
duhui.lee
a8151d78fc
h265parser: Fix segfault when parsing VPS
...
https://bugzilla.gnome.org/show_bug.cgi?id=722081
2014-01-14 16:26:51 +01:00
Justin Joy
6587e924f1
h265parser: prevent to overrun chroma_weight_l0_flag
...
The index of elements cannot exceed or equal to the size of elements.
https://bugzilla.gnome.org/show_bug.cgi?id=722101
2014-01-13 15:04:52 +01:00
Tim-Philipp Müller
0d9690ba1e
mpegts: make headers usable with c++ compiler
...
Add G_BEGIN_DECLS G_END_DECLS
https://bugzilla.gnome.org/show_bug.cgi?id=671136
2014-01-06 15:01:22 +00:00
Sebastian Dröge
bacef9cbc4
h265parser: Fix debug output
2014-01-06 14:47:43 +01:00
Sebastian Dröge
84bd65b9bd
tsdemux: Add HEVC / h265 support
2014-01-06 13:54:40 +01:00
Tim-Philipp Müller
ec3c4cb1c7
mpegts: fix g-i annotations and gtk-doc markup
2013-12-27 10:25:49 +00:00
Thiago Santos
5a5f6d1b7a
uridownloader: fix deadlock near EOS
...
A deadlock can happen when the source sends EOS when
being put to NULL as the object lock is being held by the
thread that sets the element to NULL and is needed by
the event handler.
2013-12-24 17:07:52 -03:00
Luis de Bethencourt
692a053ef8
mpegvideoparse: Fix documentation of GstMpegVideoSequenceScalableMode
2013-12-18 16:26:17 -05:00
Mariusz Buras
d5b438a984
mpegts: Install generated headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=720673
2013-12-18 13:47:01 +01:00
Matej Knopp
6af387cd5a
h264parser: not all startcodes should have 3-byte 0 prefix
...
The parser assumes that every time there is a 0 before the startcode,
it is part of the startcode. But that's not true.
From the specification
Byte stream NAL unit syntax
zero_byte is a single byte equal to 0x00.
When any of the following conditions are fulfilled, the zero_byte syntax
element shall be present.
– the nal_unit_type within the nal_unit( ) is equal to 7 (sequence parameter
set) or 8 (picture parameter set)
– the byte stream NAL unit syntax structure contains the first NAL unit of an
access unit in decoding order, as specified by subclause 7.4.1.2.3.
The problem with doing this for all startcodes is that a trailing zero can mess
up timestamps. The trailing zero gets prepended to the startcode, which will
carry the PTS and DTS of previous buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=664443
2013-12-14 12:17:40 +01:00
Cong Zhong
631d5d94ed
codecparsers: h264: fix picture level scaling lists derivation (rule B).
...
Fix picture level scaling lists derivation from fall-back rule set B,
as specified in 7.4.2.2. More precisely, the sequence level scaling
lists need to be used but intra and inter lists arguments were swapped.
This fixes FRExt/freh5.264 from conformance testing.
https://bugzilla.gnome.org/show_bug.cgi?id=720099
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-12-10 10:32:43 +01:00
Olivier Crête
a167173063
mpegvideoparser: Also initialize debug category in parse_sequence_header
...
Also remove the useless initialized flag, this is already done by the macro
https://bugzilla.gnome.org/show_bug.cgi?id=719657
2013-12-04 17:55:05 -05:00
Reynaldo H. Verdejo Pinochet
b4f29e6945
codecparsers: Add -lm needed by H.265 parser
2013-11-13 19:51:12 -03:00
Sebastian Dröge
73888f8e38
mpegts: Add some more element-type annotations for g-i
2013-11-08 20:24:03 +01:00
Aurélien Zanelli
660979bbf2
codecparsers: Fix bad condition in h264 parser
...
https://bugzilla.gnome.org/show_bug.cgi?id=711615
2013-11-07 18:48:22 +01:00
Sebastian Dröge
2b348161ed
codecparsers: Remove some unused functions
2013-11-07 09:54:40 +01:00
Sreerenj Balachandran
33451e0791
codecparsers: add H.265 HEVC bitstream parser
...
https://bugzilla.gnome.org/show_bug.cgi?id=708438
2013-11-06 23:14:22 +00:00
Edward Hervey
f36e0bca83
mpegts: Add support for parsing DVB Subtitling descriptor (0x59)
...
Essentially works in the same vein as the iso639 descriptor code
2013-10-11 10:21:25 +02:00
Jesper Larsen
0d57756512
mpegts: Fix assertion fault in ISO 639 parsing
...
https://bugzilla.gnome.org/show_bug.cgi?id=709180
2013-10-11 10:20:57 +02:00
Jesper Larsen
7cb434e42f
mpegts: Add ISO 639 parsing functions
...
https://bugzilla.gnome.org/show_bug.cgi?id=709180
2013-10-07 10:23:22 +02:00
Sreerenj Balachandran
e943f56bf8
codecparsers: h264: store quantization matrices in zig-zag order
...
Quantizer matrices are encoded in zigzag scan order in the bitstream,
so always parse it as it is.
https://bugzilla.gnome.org/show_bug.cgi?id=708629
2013-10-02 10:59:10 +02:00
Sreerenj Balachandran
8c9eaf0dc9
codecparsers: h264: add helpers to convert quantization matrices
...
Add utility functions to convert quantization matrices from zig-zag scan
order into raster scan order and vice-versa
https://bugzilla.gnome.org/show_bug.cgi?id=708629
2013-10-02 10:57:54 +02:00
Steve Maynard
17ed696faa
mpegts: Add SCTE/EISS sections and table types
...
https://bugzilla.gnome.org/show_bug.cgi?id=708688
2013-09-28 13:15:44 +02:00
Sebastian Dröge
14f2c30686
egl: Update for new GstContext API
2013-09-18 23:09:05 +02:00
Tim-Philipp Müller
f7079af630
mpegts: mark as unstable API
2013-08-28 11:13:14 +01:00
Edward Hervey
5d06aed3e2
mpegts: ABI/API break: Use GPtrArray instead of GArray
...
While it was a great idea, various g-i based bindings don't support
GArray with entries greater than sizeof(gpointer) :(
So let's just make everybody happy by just using GPtrArray.
And since we're breaking the API, also rename the various descriptor fields
to no longer have the descriptor_ prefix.
It does cost a bit more in terms of memory/cpu usage, but makes it usable
from bindings.
2013-08-21 08:59:42 +02:00
Edward Hervey
8b24d5829b
.gitignore: Update for new files to ignore
2013-08-14 13:59:27 +02:00
Tim-Philipp Müller
0bd6f374c8
codecparsers: mpegvideoparse: turn internal consistency check into a g_assert()
...
We only check input from the API user with g_return_*_if_fail().
Internal sanity checks should use g_assert() instead, which is
disabled by default for releases.
2013-08-13 17:53:33 +01:00
Tim-Philipp Müller
4200946cf1
codecparsers: mpegvideoparser: minor doc fixes
2013-08-13 17:53:29 +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
Edward Hervey
3b6825a546
codecparser: Make warnings more meaningful
...
By stating whether we don't have enough data or it's a corrupted
packet
2013-07-26 06:46:41 +02:00
Edward Hervey
ae4d6bb334
mpegts: Unify section checks and add BAT parsing
...
* Avoid repeating code everywhere, and instead provide all parsing
information in one go.
* Add BAT support
* Refine BAT/CAT identification (by adding PID checks)
2013-07-09 12:25:11 +02:00