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
Matthew Waters
6f2acb94c6
[502/906] Update versioning for gstreamer 1.0
...
Renames GST_MAJORMINOR to GST_API_VERSION in build files
removes -lgstinterfaces from _LDADD flags
2014-03-15 18:36:44 +01:00
Raimo Järvi
fa18db91ed
[501/906] Fix building on 64 bit mingw-w64
...
https://bugzilla.gnome.org/show_bug.cgi?id=676428
2014-03-15 18:36:44 +01:00
Julien Isorce
cb77b00501
[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
2014-03-15 18:36:43 +01:00
Julien Isorce
0c7080e7a1
[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
2014-03-15 18:36:43 +01:00
Julien Isorce
5d752d6422
[497/906] filtershader: fix format compiler warnings
2014-03-15 18:36:43 +01:00
Julien Isorce
a1649a497a
[495/906] glES2.0: properly use glDeleteShader
2014-03-15 18:36:43 +01:00
Julien Isorce
7e45f26a21
[494/906] cmake build: use config.h from win32/common and add some guidelines
2014-03-15 18:36:43 +01:00
Julien Isorce
201d3992d2
[492/906] glwindow: properly fails if resource not found
2014-03-15 18:36:43 +01:00
Julien Isorce
052c23c3c5
[491/906] glES2.0: properly fails if driver/kernel inconsistency
2014-03-15 18:36:43 +01:00
Julien Isorce
2394987226
[490/906] gldisplay: error out instead of g_assert
2014-03-15 18:36:43 +01:00
Julien Isorce
b88351ad0c
[488/906] libvisual-gl: full compatibility with projectM-libvisual if libprojectM >= 2.0.1
...
Fix bug #310775
2014-03-15 18:36:43 +01:00
Julien Isorce
6f1530c658
[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.
2014-03-15 18:36:43 +01:00
Julien Isorce
06d73faac4
[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
2014-03-15 18:36:43 +01:00
Julien Isorce
5091066426
[483/906] glelements: do not leak parent when using gst_pad_get_parent
2014-03-15 18:36:43 +01:00
Julien Isorce
f639d6096d
[481/906] feature checking: error out instead of doing nothing if an OpenGL feature is not present
...
Fix bug #572767
2014-03-15 18:36:42 +01:00
Julien Isorce
9e535a0410
[480/906] win32 builds: add glshader filter sources to vs9 and codeblocks
...
Also fix some warnings from msvc9 and mingw-3.4.5
2014-03-15 18:36:42 +01:00
Руслан Ижбулатов
e44c1040fe
[479/906] gstglshadervariables: strtok_r is not multiplatform
...
Fix bug #664367
2014-03-15 18:36:42 +01:00
Wei Feng
2509eab48b
[478/906] OpenGL ES 2.0: include glib.h to use G_BEGIN_DECLS in gstgles2.h
...
Fix bug #631019
2014-03-15 18:36:42 +01:00
Julien Isorce
591b4282ed
[477/906] OpenGL ES 2.0: fix build since glfiltershader changes
2014-03-15 18:36:42 +01:00
Antoni Silvestre
b640cbc542
[476/906] OpenGL ES 2.0: fix build and disable some examples
...
Fix bug #631019
2014-03-15 18:36:42 +01:00
Luc Deschenaux
268f1a30b2
[471/906] glshader: add dynamic fragment shader filter
...
Also add fragment shader parser
Fix bug #600195
2014-03-15 18:36:42 +01:00
Julien Isorce
d21aaa22bf
[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
2014-03-15 18:36:42 +01:00
Tim-Philipp Müller
0cefeead18
[463/906] Add some more G_{BEGIN,END}_DECLS to public headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=637260
2014-03-15 18:36:41 +01:00
Stefan Kost
edefb7826c
[462/906] various: add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed. Includes some gst-indent changes as well :/
2014-03-15 18:36:41 +01:00
Jan Schmidt
f9c64dfdea
[459/906] Fix distcheck.
2014-03-15 18:36:41 +01:00
Julien Isorce
2c43a348fa
[456/906] glfilter/glmixer/gltestsrc/glupload: throw an element error if no parent bin
...
Fixes bug #602153
2014-03-15 18:36:41 +01:00
Julien Isorce
2b46c87bd0
[455/906] glimagesink: handle pixel-aspect-ratio
2014-03-15 18:36:41 +01:00
Filippo Argiolas
270ce448e4
[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.
2014-03-15 18:36:40 +01:00
Julien Isorce
b0352753d4
[432/906] GstGLDisplay: this is GL_DEPTH24_STENCIL8_EXT, not GL_DEPTH24_STENCIL8_EXT
2014-03-15 18:36:40 +01:00
Pierre Pouzol
2beb8aa729
[431/906] GstGLDisplay: enable stencil buffer when using framebuffer objects.
...
Fixes Bug #612159
2014-03-15 18:36:40 +01:00
Nicholas Panayis
e6195bf5a3
[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
2014-03-15 18:36:39 +01:00
Julien Isorce
8937128d62
[412/906] Cocoa backend: improve support on GNUStep
2014-03-15 18:36:38 +01:00
Julien Isorce
1ae95c42de
[411/906] gstglmixer: copy/past recent changes from gstvideomixer
2014-03-15 18:36:38 +01:00
Julien Isorce
e356b7d1ed
[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.
2014-03-15 18:36:38 +01:00
Julien Isorce
9e22a5e0e6
[407/906] winCE backend: fix build
2014-03-15 18:36:38 +01:00
Julien Isorce
3e1bffc802
[406/906] glimagesink: add a client-data property
...
Also add it to glfilterapp.
Fixes #559131
2014-03-15 18:36:38 +01:00
Julien Isorce
a6a5ee2839
[405/906] glfilter: add external-opengl-context property
...
It repairs the cluttershare and sdlshare example
2014-03-15 18:36:38 +01:00
Jan Schmidt
d9c6eaf72f
[403/906] gstglmixer: Initialise the debug category
...
Initialise the gstglmixer debug category before using it.
2014-03-15 18:36:38 +01:00
Julien Isorce
32e401427f
[400/906] gstgldisplay: no need the I420 work around if ATI Mobility
...
fix #588653
2014-03-15 18:36:38 +01:00
Julien Isorce
48575c93ec
[399/906] glmixer: fix when no more gl elements after it
...
For example:
videotestsrc ! glupload ! ... ! glfiter ! ... ! glmosaic ! fakesink
Usefull when using glmixer inside cluttershare or sdlshare cases.
2014-03-15 18:36:38 +01:00
Pratheesh Gangadhar
34c5e17187
[394/906] gstgldisplay: use of GL_DEPTH_COMPONENT16 if OpenGL ES 2.0
...
glRenderbufferStorage does not accept GL_DEPTH_COMPONENT in
OpenGL ES 2.0.
Fix bug #593786
2014-03-15 18:36:37 +01:00
Julien Isorce
aeb793497d
[393/906] glmosaic: for now it's a cube mosaic
...
Also use GPtrArray instead of GArray in glmixer.
And add a pipeline to tests/pieplines
2014-03-15 18:36:37 +01:00
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
Gwenole Beauchesne
ac9c1ae5a8
codecparsers: h264: fix calculation of the frame cropping rectangle.
...
Fix calculation of the frame cropping rectangle, and more precisely
the actual cropped height. The frame_crop_top_offset subtraction
was not scaled up with SubHeightC.
Also clean-up variables to align more with (7-18) to (7-21).
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-09 12:15:07 +02:00
Sreerenj Balachandran
529ece338f
h264parser: Parse the cropping-rectangle separately.
...
Assign the un-cropped width/height to sps->width/sps->height
during sps header parsing. Added new fields to SPS header structure
to provide the crop-rectangle dimensions.
https://bugzilla.gnome.org/show_bug.cgi?id=694068
2013-07-09 12:15:07 +02:00
Thiago Santos
c62137b832
uridownloader: fix crash when download is null
...
Do no try to unref a NULL download attribute
2013-07-08 23:39:49 -03:00
Thiago Santos
9e313eb0a7
uridownloader: do not set cancelled unless explicitly called by user
...
Cancelled is a 'permanent' state of the uridownloader and is only
removed by a call to _reset. When a download fails we just want to
return NULL on the fetch function and leave the downloader ready
for another fetch, otherwise the user has to call _reset after
failed downloader, even when it didn't call _cancel.
2013-07-08 23:39:49 -03:00
Edward Hervey
f3d53fcd97
mpegts: Avoid false-positives in section type detection
...
Due to the variety of section types out there, we need to add
some checks when identifying section types.
We check here that the PID is also consistent with the table_id.
2013-07-07 08:35:02 +02:00
Edward Hervey
057d24811d
mpegts: Properly handle UTC time in sections
...
* don't unref inexistant GstDateTime
* Fine-tune hour/min/sec BCD reading code
* Update example code accordingly
2013-07-06 12:39:49 +02:00
Edward Hervey
d95bb48864
mpegts: Fix NIT parsing
...
The size checks were wrong. The smallest size for a NIT is 16 bytes
(12 for the smallest content + 4 for crc) and the smallest size for
a inner stream loop is 6 bytes (without any descriptors).
Also remove FIXME that has already moved elsewhere
2013-07-06 10:59:55 +02:00
Gwenole Beauchesne
5ad6f2d4a0
codecparsers: mpeg2: fix video packet header size checks.
...
Fix video packet header size checks for:
- Sequence Header: 64 bits ;
- Sequence Scalable Extension: 10 bits ;
- Slice Header: 6 bits.
https://bugzilla.gnome.org/show_bug.cgi?id=703668
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 18:58:20 +02:00
Sreerenj Balachandran
9a2ed78532
codecparsers: mpeg2: add slice header parsing API.
...
Add API to parse the Slice header. This also calculates the macroblock
position as specified in 6.3.16.
https://bugzilla.gnome.org/show_bug.cgi?id=664274
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 17:39:28 +02:00
Sreerenj Balachandran
2adfbe36f1
codecparsers: mpeg2: add sequence scalable extension parsing API.
...
Add API to parse the Sequence Scalable Extension header.
https://bugzilla.gnome.org/show_bug.cgi?id=664274
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 17:39:28 +02:00
Gwenole Beauchesne
1a5265ef72
codecparsers: mpeg2: add new API that takes GstMpegVideoPacket arguments.
...
Add new interface to MPEG-2 video parser that takes GstMpegVideoPacket
arguments instead of data, size, and offset. New functions are called
after gst_mpeg_video_packet_*() and provide the default implementation.
Older API is moved to the deprecated namespace and uses the new functions.
https://bugzilla.gnome.org/show_bug.cgi?id=692933
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 17:37:34 +02:00
Edward Hervey
f24c0b62e3
mpegts: Improve documentation
...
* Add a base page for the library
* Add pages for the base MPEG-TS section and descriptors
* Add pages for the known variants
* Add documentation on more fields/sections/types
* Remove some fixmes that were ... fixed
2013-07-04 08:45:33 +02:00
Edward Hervey
34164610b0
mpegtsdescriptor: Fix handling of unknown stream encodings
...
If we cannot identify the encoding used for a string, return a NULL
string instead of garbage and add a FIXME so we can detect and later
fix it.
2013-07-04 08:45:32 +02:00
Edward Hervey
4fe26740c7
mpegts: Add registered mpeg-ts stream types
...
These are the values officially registered in the base specification
(H.222.0/13818-1). Later on we can add other enums for other variants
Note that the enum is not used in the structure fields (such as a pmt
stream stream_type field) since it can contain values from other
variants.
2013-07-04 08:45:32 +02:00
Edward Hervey
51d8fa5860
mpegts: split dvb descriptors/enums into a separate file
...
We will do the same once we have ATSC/ISDB/... descriptor parsing
2013-07-03 18:52:18 +02:00
Edward Hervey
6a611e5d3d
mpegts: Fix TOT section parsing
...
And use it in example
2013-07-03 18:44:54 +02:00
Edward Hervey
982aee25c6
mpegts: Split files and implement free functions
...
* In order to avoid future clashing between table_id for the various
mpeg-ts variants, use different enums.
* In order to keep everything clean(ish) and allow for cleaner growth,
split into different files (will need the same for descriptors later)
* Also ... implement free functions for all table types :)
2013-07-03 17:59:02 +02:00
Thiago Santos
cd26bd51a1
uridownloader: Simplify locking to fix deadlocks
...
Use object lock to protect variables from concurrent access and
use download_lock to only allow one download running
2013-07-03 10:23:45 -03:00
Edward Hervey
c1366efcd6
libs/mpegts: Rename GstMpegTS => GstMpegTs
...
Sorry for this :( But this makes it more in sync with expected type
naming in gobject (i.e. CamelCase and not CamelMAYBECase).
Also split descriptor type enums into the different variants:
* ISO H.222.0 / 13818-1 (i.e. standard mpeg-ts)
* DVB
* ATSC
* ISDB
* miscellaneous
This will avoid future clashes when specs use the same descriptor type
2013-07-03 13:59:56 +02:00
Edward Hervey
3665e8543a
gst-libs: New Mpeg-TS support library
...
Exposes various MPEG-TS (ISO/IEC 13818-1) and DVB (EN 300 468) Section
Information as well as descriptors for usage by plugins and applications.
This replaces entirely the old GstStructure-based system for conveying
mpeg-ts information to applications and other plugins.
Parsing and validation is done on a "when-needed" basis. This ensures
the minimal overhead for elements and applications creating and using
sections and descriptors.
Since all information is made available, this also allows applications
to parse custom sections and descriptors.
Right now the library is targeted towards parsing, but the structures
could be used in the future to allow applications to create and inject
sections and descriptors (for usage by various mpeg-ts elements).
https://bugzilla.gnome.org/show_bug.cgi?id=702724
2013-07-03 09:17:25 +02:00
Thiago Santos
e76f3e95fd
uridownloader: add support for range based downloads
...
Adds a new API gst_uri_downloader_fetch_uri_with_range that allows
downloading only a byte range from an URI. It uses a seek event
sent to the source to signal the range to be downloaded.
https://bugzilla.gnome.org/show_bug.cgi?id=702206
2013-07-01 14:22:01 -03:00
Sreerenj Balachandran
65758debf1
h264parser: Fix the return value type for the SEI palyload parsing methods.
...
The return value type of SEI payload parsing functions
are GstH264ParserResult.
https://bugzilla.gnome.org/show_bug.cgi?id=695475
2013-07-01 11:24:17 +02:00
Edward Hervey
b00192d7c0
codecparsers: Fix gtk-doc
...
Detected by initial pre-run of gi-scanner.
2013-06-23 11:46:01 +02:00
Sreerenj Balachandran
0a496f4167
mpegvideoparser: Fix the pixel-aspect-ratio calculation
...
Ignore the display_extension values if they are greater than the width/height
values provided by seqhdr and calculate the PAR based on the seqhdr values.T
his is what DVD players are doing.
Thanks to "David Schleef <ds@schleef.org>"
https://bugzilla.gnome.org/show_bug.cgi?id=685103
2013-06-06 14:32:45 +02:00
Stefan Sauer
668dcf0c09
signalprocessor: ladspa is not using this anymore
...
When we port lv2, we'll go the same route as the new ladspa plugin.
2013-05-28 10:27:17 +02:00
Edward Hervey
f7893fb63e
codecparsers: Actually store mpeg video bitrate value
...
And use the extension also (higher 12 bits)
2013-05-23 14:59:33 +02:00
Olivier Crête
d0524c0579
insertbin: Annotate callback scopes
2013-05-15 20:03:30 -04:00
Sebastian Dröge
275e104be6
egl: Add destroy notify instead of always calling eglTerminate() on the display
...
In some scenarios, for example in QtWebKit, might be difficult to obtain full
control on the egl display and it might be only accessible indirectly via
eglGetCurrentDisplay().
https://bugzilla.gnome.org/show_bug.cgi?id=700058
2013-05-10 12:50:05 +02:00
Josep Torra
db3d5f92d6
egl: Allow being used in C++ code
2013-05-10 11:48:46 +02:00
Thiago Santos
529b248a89
codecparsers: ensure the debug category is properly initialized
...
The user of the library might not need to create a NalParser, so
the debug category needs to be initialized from other functions
as well if required.
2013-05-07 21:05:10 -03:00
Louis-Francis Ratté-Boulianne
f0211e5b7b
uridownloader: unlock mutex when switching urisrc state to NULL to avoid deadlock
...
When chain method was called after gst_uri_downloader_stop and before state has been changed to NULL, execution was blocking on g_mutex_lock.
Conflicts:
gst-libs/gst/uridownloader/gsturidownloader.c
2013-05-07 20:02:41 -03:00
Thiago Santos
99efe87b5d
uridownloader: properly unref the urisrc between downloads
...
This prevents leaking the element. Also sets the bus to flushing
to completely reset the downloader state
2013-05-07 20:02:41 -03:00
Andre Moreira Magalhaes (andrunko)
f72869816c
uridownloader: make cancelled state 'permanent' until a reset
...
When downloading and cancelling quickly the uridownloader object and the
element using it could miss the cancelled window and the uridownloader
would fetch the wrong URI and block on subsequent fetches.
This was also problematic when stopping elements, while one task would
call the cancel, another element thread could issue a new fetch_uri. As
the cancel state isn't 'permanent' this fetch_uri would block and
prevent the whole element from stopping and going to NULL.
This patch makes the 'cancelled' state permanent until a
gst_uri_downloader_reset is called. This way the element knows the
window where the uridownloader isn't active and only reactivate it when
ready.
2013-05-07 20:02:41 -03:00
Thiago Santos
859635ca01
uridownloader: refactor gsturidownloader to its own lib
...
gsturidownloader can be reused by other plugins, better have it
into its own lib
2013-05-07 20:02:41 -03:00
Sreerenj Balachandran
0511a6b032
mpegvideometa: Fix typo in comment
...
https://bugzilla.gnome.org/show_bug.cgi?id=699827
2013-05-07 14:52:50 +02:00
Sebastian Dröge
5bc64fd579
egl: Use gst_context_writable_structure()
2013-04-18 16:11:26 +02:00
Josep Torra
5ba7f5effc
egl: silence warnings building for RPI related to 'vcos_*'
2013-04-18 12:16:17 +02:00
Sebastian Dröge
a6e50140b7
egl: Use new types from libgstvideo instead of defining our own
2013-04-17 10:49:59 +02:00
Sebastian Dröge
524421e436
video: Remove video library from -bad
...
This only contained API that now has replacements in core and base.
2013-04-11 13:35:02 +02:00
Tim-Philipp Müller
3f228f3dfc
docs: add since markers to new codecparsers video meta API
...
https://bugzilla.gnome.org/show_bug.cgi?id=691712
2013-04-02 23:34:19 +01:00
Sebastian Dröge
f7a00d8ca4
egl: Add a #define for the EGLImage memory caps feature
2013-04-01 10:22:06 +02:00
Edward Hervey
67ac84c7b5
codecparsers: Add Mpeg Video GstMeta
...
This can be used by parsers to provide pre-parsed information to
downstream elements that would require it (so they can avoid having
to parse the bitstream again).
2013-03-31 18:55:29 +02:00
Edward Hervey
3bb62cbf1d
codecparser: Fix picture packet extension size check
...
It is at least 34 bit big (5 bytes with byte padding)
2013-03-31 12:18:32 +02:00
Sebastian Dröge
ce9b6e5afb
eglglessink: Implement GstContext handling
2013-03-29 16:38:34 +01:00
Josep Torra
a9a385c512
egl: check on the proper display and indent some lines
2013-03-29 10:33:10 +01:00
Sebastian Dröge
c645e41711
egl: Add a boxed type for GstEGLDisplay
2013-03-28 16:53:35 +01:00
Sebastian Dröge
8f9c2e8e44
egl: Fix some return values in g_return_val_if_fail()
2013-03-19 14:32:30 +01:00
Sebastian Dröge
a373e75949
egl: Add support for different orientations of the EGLImage
...
The content of the EGLImages can be at least in GStreamer orientation,
meaning top line first in memory, or OpenGL orientation, meaning
bottom line first in memory.
2013-03-13 12:23:49 +01:00
Sebastian Dröge
5e948472ed
egl: Rename gst_egl_image_memory_can_map() to is_mappable()
2013-03-03 12:31:05 +01:00
Sebastian Dröge
4ca26a3c45
egl: Remove buffer pool option
...
This should be done differently via the allocators in the allocation query.
2013-03-03 12:31:05 +01:00
Sebastian Dröge
a47f52bb96
egl: Mark memory as not mappable if it isn't
2013-03-03 12:31:05 +01:00
Sebastian Dröge
0a5ff713e7
egl: Implement sharing of memory
2013-03-03 12:31:05 +01:00
Sebastian Dröge
4dd09a12dd
egl: Add infrastructure for EGLImage handling
2013-03-03 12:31:04 +01:00
Sebastian Dröge
4bf50b6af0
codecparsers: Use correct type specifiers for format strings to fix compiler warnings
2013-03-03 12:29:42 +01:00
Tim-Philipp Müller
f8139b2b99
insertbin: mark as unstable API
2013-02-14 09:03:28 +00:00
Tim-Philipp Müller
214d7e0619
insertbin: fix up gtk-doc chunk and add since markers
2013-02-14 09:02:53 +00:00
Tim-Philipp Müller
0dcb7c27ba
glib-compat-private.h: remove old GStaticRecMutex stuff
...
Breaks the build with newer GLibs ("unknown type GStaticRecMutex")
and is not needed any more.
2013-02-12 10:39:44 +00:00
David Schleef
743098fe8c
mpegvideoparser: increase min size for picture coding ext
...
This could use additional work. The parsing code overruns the
end of buffers during normal operation, triggering GST_WARNINGs.
2013-02-11 18:02:23 -08:00
Youness Alaoui
381fcda68b
basecamerabinsrc: Add auto-start property to basecamerabin
2013-02-11 22:04:59 +01:00
Gwenole Beauchesne
6e440f1da4
codecparsers: h264: add profile enums.
...
Add all useful profiles from AVC, MVC and SVC specifications.
https://bugzilla.gnome.org/show_bug.cgi?id=693140
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-02-07 14:38:27 +01:00
Gwenole Beauchesne
250555a7de
codecparsers: mpeg2: add helpers to convert quantization matrices.
...
Add utility functions to convert quantization matrices from zigzag scan
order (as encoded in the bitstream) into raster scan order. Also provide
another function to reverse the operation.
https://bugzilla.gnome.org/show_bug.cgi?id=693000
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-02-06 14:22:41 +01:00
Cong Zhong
46c01de05d
codecparsers: mpeg2: store quantization matrices in zigzag scan order.
...
Quantizer matrices are encoded in zigzag scan order in the bitstream,
but they are stored in raster scan order when they are parsed. However,
default matrices were also prepared in zigzag scan order, hence the
mismatch. i.e. the matrices were presented either in raster scan order
if they are explicitly present in the bitstream, or they were presented
in zigzag scan order if the default definitions were to be used instead.
One way to solve this problem is to always expose the quantization
matrices in zigzag scan order, since this is the role of the parser to
not build up stories from the source bitstream and just present what
is in there.
Utility functions will be provided to convert quantization matrices in
either scan order.
https://bugzilla.gnome.org/show_bug.cgi?id=693000
Signed-off-by: Cong Zhong <congx.zhong@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-02-06 14:22:41 +01:00
Tim-Philipp Müller
cf695c6da9
insertbin, tests: fix printf format compiler warnings
2013-01-25 12:25:15 +00:00
Gwenole Beauchesne
10639eb889
codecparsers: vc1: fix bitplanes decoding (DIFF6 or NORM6 residual bytes).
...
Fix parsing of residual bytes. This is a two-step process. First,
remaining colums of full vertical resolution (<height>) need to be
processed. Next, remaining bytes in the first row can be processed,
while taking into account the fact that we may have filled in the
first columns already. So, this is not full horizontal resolution.
The following figure helps in understanding the expected order of
operations, for a 8x5 MBs bitplane.
5 5 6 6 6 6 6 6
5 5 1 1 1 2 2 2
5 5 1 1 1 2 2 2
5 5 3 3 3 4 4 4
5 5 3 3 3 4 4 4
So, after tiles 1 to 4 are decoded, vertical tile 5 needs to be
processed (2x5 MBs) and then the horizontal tile 6 (6x1 MBs).
https://bugzilla.gnome.org/show_bug.cgi?id=692461
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-25 09:53:05 +01:00
Gwenole Beauchesne
fa2a526f04
codecparsers: vc1: fix bitplanes decoding (DIFF6 or NORM6).
...
Fix decoding of DIFF6 or NORM6 bitplanes with an odd number of lines
(3x2 "horizontal" tiles). In this case, we have to skip the first line
of macroblocks but <width> number of bytes was used to do so, instead
of the actual <stride> size.
This fixes decoding for the video sample attached to:
https://bugzilla.gnome.org/show_bug.cgi?id=668565
https://bugzilla.gnome.org/show_bug.cgi?id=692461
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-25 09:39:01 +01:00
Olivier Crête
d1023646f9
insertbin: Add bin to dynamically insert elements in a running pipeline
...
This element automatically links in any element added using it's
action signals. These elements must have a single source pad and a single
sink pad.
2013-01-23 21:13:03 -05:00
Gwenole Beauchesne
07a51b16eb
codecparsers: vc1: add API to parse slice headers.
...
Add gst_vc1_parse_slice_header() function to parse slice headers as
described in 7.1.2. Slice layers are optional and allowed in advanced
profile mode only. Picture header, if available (PIC_HEADER_FLAG),
is parsed but not recorded because it shall be the same as that was
previously parsed with gst_vc1_parse_frame_header().
This fixes SA00049.vc1 conformance test.
https://bugzilla.gnome.org/show_bug.cgi?id=692388
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-23 17:22:07 +01:00
Gwenole Beauchesne
82200d75ae
codecparsers: vc1: fix bitplanes decoding.
...
Fix decoding of DIFF2 or NORM2 bitplanes with an odd number of macroblocks.
In particular, account for the first bit that was already parsed so that to
avoid a buffer overflow after all pairs are parsed.
This fixes SA00040.vc1 conformance test.
https://bugzilla.gnome.org/show_bug.cgi?id=692312
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-23 09:35:11 +01:00
Gwenole Beauchesne
cbec9bfcd0
codecparsers: vc1: simplify GstVC1VopDquant structure.
...
Rename dqsbedge to dqbedge. The intent is that we can only have a single
boundary edge selector, depending on the value of dqprofile. So, dqbedge
represents DQSBEDGE if dqprofile == GST_VC1_DQPROFILE_SINGLE_EDGE, or
DQDBEDGE if dqprofile == GST_VC1_DQPROFILE_DOUBLE_EDGE.
The former dqbedge field is marked as unused and can be removed on the
next gst-plugins-bad version that allows ABI changes.
https://bugzilla.gnome.org/show_bug.cgi?id=692272
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 14:22:30 +01:00
Gwenole Beauchesne
93fbcfda23
codecparsers: vc1: fix VOPDQUANT parser for DQUANT == 2.
...
Fix parsing of VOPDQUANT when DQUANT == 2. In particular, DQUANTFRM is
not present in the bitstream in this case and it shall be derived to
the default value of zero (7.1.1.31.1).
https://bugzilla.gnome.org/show_bug.cgi?id=692271
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:20:06 +01:00
Gwenole Beauchesne
73213e273f
codecparsers: vc1: fix calculation of ALTPQUANT.
...
Fix calculation of ALTPQUANT when DQUANT == 1. PQDIFF alters ALTPQUANT
in any case. See 7.1.1.31.6.
https://bugzilla.gnome.org/show_bug.cgi?id=692270
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:19:56 +01:00
Gwenole Beauchesne
f3698c6289
codecparsers: vc1: fix parser for DQPROFILE in VOPDQUANT.
...
Fix parse_vopdquant() to correctly parse DQPROFILE, which is 2 bits
instead of a single bit.
https://bugzilla.gnome.org/show_bug.cgi?id=692267
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:19:44 +01:00
Gwenole Beauchesne
56e2405a35
codecparsers: h264: add inferred value for slice_beta_offset_div2.
...
The standard specifies that when slice_beta_offset_div2 is not present
in the slice header, then the value of slice_beta_offset_div2 shall be
inferred to be equal to 0.
https://bugzilla.gnome.org/show_bug.cgi?id=692265
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:19:17 +01:00