Matthew Waters
37c08c58c5
gl/eglimage: add eglimage context feature
...
Allows us to selectively use EGLImages only when available
https://bugzilla.gnome.org/show_bug.cgi?id=728234
2014-05-20 23:37:52 +10:00
Matthew Waters
b30023f571
gl/context: add generic feature checking
...
At the moment it simply delegates to the subclass.
2014-05-20 22:26:55 +10:00
Thiago Santos
0cdcc5a7b1
mpegts: Check hour:minute:second values before creating datetime
...
Avoids assertions when the packets are malformed and also add the case
where the time isn't specified, only the date.
2014-05-19 14:55:21 -03:00
Sebastian Dröge
911ec0d3ef
glcontext: Add more assertions to make sure that everything sets the GError during context creation if something fails
2014-05-19 12:21:13 +02:00
Thiago Santos
43f3f837fa
mpegts: mpegtsdescriptor: fix gobject-introspection warnings
...
Adds missing : to gobject-introspection markers
2014-05-15 21:34:31 -03:00
Thiago Santos
f99fe4747e
mpegts: sections: prevent assertion when packet parsing fails
...
the descriptors entry can be left as NULL and freeing the structure
will fail (assertion happens)
2014-05-15 19:25:06 -03:00
Matthew Waters
ce561913de
gl/download: update to be similar to the glupload semantics
2014-05-14 11:38:01 +10:00
Matthew Waters
b0a1e1f15b
gl/colorconvert: fix up alpha clobbering
...
Previously it would only work if the alpha value was in the last
component (RGBx, BGRx). Now it works wherever the alpha value may
be (xRGB, xBGR, etc).
2014-05-14 11:38:01 +10:00
Nicolas Dufresne
5c4ebaca4f
glfilter: Fix building without EGL support
...
This fixes the OSX build and any builds with --disable-egl. That issue
was introduced in "glfilter: rewrite transform_caps to preserve caps fields".
https://bugzilla.gnome.org/show_bug.cgi?id=729861
2014-05-13 13:17:01 -04:00
Julien Isorce
e46de48f10
glfilter: rewrite transform_caps to preserve caps fields
...
https://bugzilla.gnome.org/show_bug.cgi?id=729861
2014-05-13 12:43:42 -04:00
Matthew Waters
1e90a68aec
gl/colorconvert: use the texture scaling from the gl memory
...
The colorconvert values were not being used at all.
https://bugzilla.gnome.org/show_bug.cgi?id=729896
2014-05-13 11:44:06 -04:00
Nicolas Dufresne
d4bcef3204
glmemory: Fix handling of stride with alignement larger then 8
...
Setting a scaled factor for X coordinate is not enough as the indexer
will still think stride is shorter and will not fully skip it. Instead,
update width, so the lines are as expected. Combined with the scale, it
will hide the cropped portion.
https://bugzilla.gnome.org/show_bug.cgi?id=729896
2014-05-13 11:43:45 -04:00
Nicolas Dufresne
2d0a791348
glupload: Ensure we still have a texture after upload_set_format()
...
gst_gl_upload_set_format() resets the upload, hence the texture.
So we need to ensure we have a texture after this call when
uploading.
2014-05-12 18:26:12 -04:00
Nicolas Dufresne
864e1511c7
glupload: Correctly update the video info from video meta
...
Using gst_video_info_set_format() isn't complete when updating
a video info from video meta.
2014-05-12 18:26:12 -04:00
Nicolas Dufresne
4f84a6124a
glupload: Correctly update video info in upload fallback
...
When the upload accelerated method fails, we fallback to an upload,
but the video info was not correctly updated.
2014-05-12 18:26:12 -04:00
Julien Isorce
d93cd25e2d
gl/upload: set out_tex after reset, not before
...
Fix a regression introduced recently with the lazy init.
It was happening when calling gst_video_gl_texture_upload_meta_upload
from an aplication. So not using gst_gl_upload_perform_with_buffer.
2014-05-12 13:43:19 +01:00
Matthew Waters
f14e5ea027
gl/upload: update the video info on mapping a video frame
...
The buffer should contain the most specific data on how the data is
formatted. We should use this information.
https://bugzilla.gnome.org/show_bug.cgi?id=729896
2014-05-12 22:13:19 +10:00
Matthew Waters
bd3e600710
gl/convert: clobber alpha channel when needed
...
Needed in the conversion from padded RGB formats to formats with an
alpha channel. e.g. BGRx -> ABGR, etc
https://bugzilla.gnome.org/show_bug.cgi?id=729742
2014-05-12 22:10:19 +10:00
Matthew Waters
a4f0fbe4c3
gl/upload: avoid performing color conversion when there is no need
...
One such example is when the buffer contains GstGLMemory in the
RGBA format
https://bugzilla.gnome.org/show_bug.cgi?id=729278
2014-05-12 22:09:32 +10:00
Matthew Waters
91717ca5c2
gl/colorconvert: choose the right alpha component for AYUV -> RGBA
2014-05-11 14:04:22 +10:00
Matthew Waters
0c92f185c4
gl/upload: update the respective state when we cache textures/data
2014-05-11 10:45:34 +10:00
Matthew Waters
ecae7a1a41
gl/upload: cache the textures that we are using
2014-05-10 23:54:34 +10:00
Matthew Waters
c6e3f51ca5
gl/upload: avoid recreating the GLMemory struct for output textures
2014-05-10 23:05:03 +10:00
Nicolas Dufresne
afea9c6fe1
gl: Fix some of the error handling
2014-05-09 18:59:46 -04:00
Nicolas Dufresne
803f2c3dc0
glupload: Update GstVideoInfo after the buffer is mapped
...
gst_video_frame_map() will store an updated video info base
on the video meta. In order to have the right stride and offset
we should update that video info accordingly.
2014-05-09 17:59:43 -04:00
Sebastian Dröge
411f367dfc
gl: Fix memory leak
...
CID #1212171
2014-05-09 15:42:08 +02:00
Edward Hervey
2b92709154
mpegts: Fix leak
...
The cell extension was never added to the parent cell
CID #1212162
2014-05-09 14:32:49 +02:00
Matthew Waters
2dcbf08d73
gl/colorconvert: preserve alpha in AYUV <-> RGBA conversions
...
https://bugzilla.gnome.org/show_bug.cgi?id=729743
2014-05-09 22:32:11 +10:00
Matthew Waters
34b55f33f2
gl/colorconvert: implement lazy init
2014-05-09 22:32:11 +10:00
Julien Isorce
dff8abd57a
gl/upload: set initted to TRUE when _init_upload succeeded
2014-05-09 13:07:16 +01:00
Sebastian Dröge
5c960069e4
gldisplay: Use GST_STR_NULL() for printing possibly NULL strings and print all variables we use
...
Fixes compiler warning about set but not used platform_choice variable
among other things.
2014-05-08 22:50:27 +02:00
Matthew Waters
ffe2c1f3c1
gl/upload: fix compilation on OS X
2014-05-08 17:28:11 +10:00
Matthew Waters
b0b630c69c
gl/upload: fail propoerly if init fails
2014-05-08 15:40:33 +10:00
Matthew Waters
c247be334a
gl: make all GObjects inherit from GstObject
...
Aids memory leak debugging with GST_TRACE=mem-live
2014-05-08 15:33:43 +10:00
Matthew Waters
a49a371710
gl/upload: implement lazy init
...
Rename init_format to set_format
2014-05-08 15:33:43 +10:00
Matthew Waters
5405273b0a
gl/upload: add get_format method
...
Simply retreives the format set by init_format
2014-05-08 14:03:57 +10:00
Matthew Waters
810d6710d4
gl/filter: attempt to passthrough the pool if the caps are the same
...
Reduces the number of glbufferpool instances required for >=2
consecutive GL elements in a pipeline.
2014-05-08 14:03:57 +10:00
Matthew Waters
c2cdac278e
gl/filter: always initialize the upload object
2014-05-08 14:03:50 +10:00
Matthew Waters
a27589629d
gl: advertise GstGLMemory usage in the caps as capsfeatures
...
https://bugzilla.gnome.org/show_bug.cgi?id=729658
2014-05-07 21:48:57 +10:00
Matthew Waters
ee95595af0
gl/display: avoid endless recursion for cocoa
2014-05-07 19:07:23 +10:00
Julien Isorce
d4fe519c2e
gl: do not allocate the target texture of an EGLImage
...
The target texture of an EGLImage is the texture bind just
before calling glEGLImageTargetTexture2D.
As we currently only support a gl texture as the source of an EGLImage
the gl texture is actually already allocated when creating the eglimage.
I also see some cases where it fails to upload an eglimage when
glTexImage2D is called on the target.
2014-05-06 15:39:12 +01:00
Julien Isorce
531e19214a
gl: allow to avoid calling glTexImage2D(w, h, NULL) when generating a texture
...
Just pass 0 as width or height to gst_gl_context_gen_texture.
2014-05-06 15:39:12 +01:00
Julien Isorce
2115f11f0b
gl: no need to initialize a frame buffer object to upload an eglimage
...
Fix https://bugzilla.gnome.org/show_bug.cgi?id=729588
2014-05-06 15:39:12 +01:00
Julien Isorce
65381ee664
gl: use GST_CAT_ERROR instead of GST_ERROR_OBJECT
...
It fixes segault when GST_DEBUG is at least level 1 and eglCreateImage fails
2014-05-06 15:39:12 +01:00
Julien Isorce
dd8929a272
gl: delete texture used with GstVideoGLTextureUploadMeta
2014-05-06 15:39:12 +01:00
Julien Isorce
73a3c173c7
gl: use gst_gl_context_gen_shader helper instead of duplicating code
2014-05-06 15:35:00 +01:00
Matthew Waters
f19e5abcb8
gl/display: clean up pre gstglcontext api and struct fields
...
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:08:30 +10:00
Matthew Waters
c28dd9b0d3
gl/display: add get_handle_type
...
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:08:30 +10:00
Matthew Waters
1eeecae29e
gl/display: avoid opening the X11 display on systems with Cocoa (OS X)
...
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:08:30 +10:00
Matthew Waters
8743301af9
gl/window: fix string length check for eagl
2014-05-06 21:08:30 +10:00
Matthew Waters
b694b292b9
gl/display: check the correct env variable for choosing an egl display
...
GST_GL_WINDOW is used for window system specific choices.
An EGLDisplay can be created from window systems with egl support by using
eglGetDisplay().
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:07:38 +10:00
Edward Hervey
48f770a2df
gl/cocoa: Use OBJCFLAGS where needed
...
Should fix usage of c-compiler-only flags with an objective-c compiler
2014-05-06 12:57:36 +02:00
Sebastian Dröge
706a88ccb3
uridownloader: Add parameter to disallow caching as required by HLS
2014-05-05 09:41:51 +02:00
Sebastian Dröge
aa875604c9
uridownloader: Add refresh parameter to hint caches that they should check if they're up to date
2014-05-02 10:36:21 +02:00
Matthew Waters
dfc6745143
gl: use the bufferpool's upload when available
...
Avoids duplicating GL resources
https://bugzilla.gnome.org/show_bug.cgi?id=728872
2014-05-02 15:59:28 +10:00
Julien Isorce
cf509574be
gl: show internal cocoa window on top of others
...
Useful when your OSX terminal is fullscreen
https://bugzilla.gnome.org/show_bug.cgi?id=728127
2014-05-02 06:03:23 +01:00
Matthew Waters
b903c61ceb
gl/pool: init the upload object on start
...
Theoretically, set_config could be called multiple times
2014-05-02 14:16:49 +10:00
Sebastian Dröge
cad1bb32c8
gl: Try harder to load symbols from the correct place
...
This commit makes the loading of the GModules threadsafe, and
always first tries to load the symbol for the GL library that
is selected for the current context. Only then it falls back
to looking into the current module (NULL), and only as a last
resort the context specific function (e.g. eglGetProcAddress())
is called.
Also add configure parameters to select the names of the library
modules instead of using the defaults, and let the defaults be
independent of the G_MODULE_SUFFIX.
https://bugzilla.gnome.org/show_bug.cgi?id=728753
2014-05-01 14:36:54 +02:00
Matthew Waters
598a79a5e2
gl/mem: implement texture copying between formats with strides properly
...
Previously, we used the width to determine the amount of data to be
copied using pbos. This, makes it allocate enough data for the
the strides as well.
2014-05-01 14:00:04 +10:00
Matthew Waters
29ff67a60a
gl/mem: pad the public struct
2014-05-01 14:00:04 +10:00
Nicolas Dufresne
441ac82d7f
gl: no need to provide full lib path to load symbols
...
- Make gstgl work on Mali
- Keep it work on RPI
- fallback to NULL name module if fails with usual lib name
https://bugzilla.gnome.org/show_bug.cgi?id=728753
2014-04-30 15:16:06 -04:00
Julien Isorce
64e5b5a203
gl: add convenient functions to setup default vertex and fragment shaders
...
Most of our 2D filters use the same simple vertex shader.
Also define the default fragment shader as the identity.
Avoid duplicating the same vertex and fragment shader text.
2014-04-30 15:35:49 +01:00
Philippe Normand
eee4f95a1f
gl: add missing G_BEGIN/END_DECLS in utils header
2014-04-29 19:24:08 +01:00
Jan Schmidt
4296dc12f7
gl: Reduce noisy Info level output to LOG
2014-04-29 22:19:37 +10:00
Julien Isorce
1525fa8bad
gl: use gst_gl_platform_from_string because we support gl shareList on all platforms
2014-04-28 15:59:06 +01:00
Julien Isorce
6a18a1346b
glfilter: only warn when other_context attribute is set
...
Fix false positive
2014-04-28 15:59:06 +01:00
Julien Isorce
9cb3f93b4a
gl: fix string literal warning
...
warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
2014-04-28 15:59:06 +01:00
Sebastian Dröge
dede842409
uridownloader: Unset referer if none was specified later on
2014-04-28 10:12:52 +02:00
Sebastian Dröge
fbbe73a62e
uridownloader: Add API to specify the referer of a request
2014-04-28 10:04:25 +02:00
Gwenole Beauchesne
a66f2dca60
codecparsers: h264: fix parsing of slice groups for map type = 2.
...
When parsing slice groups information for slice_group_map_type = 2, we
should only be reading up to num_slice_groups_minus1 groups since there
is always a "leftover" slice group and as many "foreground" slice groups
as needed.
This fixes parsing for SVCBMT-5 and SVCBMT-12 whereby the base layer would
have incorrectly been parsed to have up to 38 reference frames in list0,
which is not possible.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-27 23:41:19 +02:00
Gwenole Beauchesne
1b9e8a25a0
codecparsers: h264: fix derivation of default scaling lists.
...
When useDefaultScalingMatrixFlag is computed to be 1 while parsing
scaling_list(), then the scaling list shall be inferred to be equal
to the default list (7.4.2.1.1.1). That default list is really one
of Default_4x4_{Intra,Inter} or Default_8x8_{Intra,Inter} and not
one from fall-back rule sets A or B.
This fixes parsing for FRExt1_Panasonic_D, FRExt2_Panasonic_C,
FRExt3_Panasonic_E and FRExt4_Panasonic_B.
https://bugzilla.gnome.org/show_bug.cgi?id=724518
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-26 22:24:45 +02:00
Sebastian Dröge
cfc32a1ec4
uridownloader: Set source state to NULL if downloading failed for whatever reason
2014-04-25 14:42:35 +02:00
Nicolas Dufresne
70350bd89e
gl/x11: Removed unused variable
2014-04-24 13:59:51 -04:00
Sebastian Dröge
eb88f19c10
gl/x11: Get rid of unneeded second display connection and do everything from the main loop
2014-04-24 19:11:31 +02:00
Sebastian Dröge
42a3bb7d6e
gl/x11: Block rendering until swapbuffers is called and don't go via X11 events as unneeded indirection
...
This should fix QoS problems, where basesink believed it was rendering with
20FPS but actually we were just queueing up X11 Expose events and only once
in a while something was rendered.
2014-04-24 19:11:31 +02:00
Julien Isorce
b92b86bdd9
gl/rpi: do not scale to full screen
...
Having a 640x360 movie being scaled to 1900x1200 does not look nice
2014-04-24 15:26:17 +01:00
Julien Isorce
562399a71a
gl/rpi: change dispmanx attributes of existing element instead of creating a new one
...
I was lucky that:
e1 = vc_dispmanx_element_add ()
eglCreateWindowSurface (e1)
vc_dispmanx_element_remove (e1)
e2 = vc_dispmanx_element_add ()
resulted in having e2 equal to e1. And also having the egl surface
that does not allocate its buffers before the first draw.
2014-04-24 15:26:17 +01:00
Julien Isorce
9bae6a9c2e
gl/rpi: ensure the dispmanx element to be opaque
...
So that we ensure it does not get alpha composited with other
dispmanx elements like the desktop.
2014-04-24 15:26:17 +01:00
Julien Isorce
510040e033
gl/cocoa: pass a NSView to set_window_handle instead of a NSWindow
...
Fix backwards compatibility
https://bugzilla.gnome.org/show_bug.cgi?id=728451
2014-04-24 10:37:00 +01:00
Julien Isorce
162dfcdf75
gl/cocoa: only draw once the window has been resized
...
It avoids to draw the first frame with an incorrect view port.
2014-04-24 09:09:20 +01:00
Julien Isorce
aa4bdcd707
gl/cocoa: set the view to use for drawing by the context
...
It avoids to draw to an invalid buffer.
Withtout this the default frame buffer is undefined:
glBindFramebuffer (GL_FRAMEBUFFER, 0)
Visually you could see some white frames at the beginning
when lunching videotestsrc ! glimagesink
With OpenGL Profiler from XCode you could see some
GL_INVALID_FRAMEBUFFER_OPERATION for the first frames
2014-04-24 09:09:13 +01:00
Julien Isorce
1ced9b1005
gl: fix declaration-definition mismatch for _init_upload
2014-04-23 21:10:07 +01:00
Julien Isorce
453245304d
gl/bufferpool: do not reset upload when set_config does not change the caps
...
With videotestsrc ! glimagesink it was reset 3 times
2014-04-23 21:10:03 +01:00
Julien Isorce
8fd840166b
gl: use #ifdef instead of #if for __APPLE__
...
warning: "__APPLE__" is not defined [-Wundef]
with gcc version 4.7.2 20120731 (prerelease)
(crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08)
2014-04-23 21:09:58 +01:00
Nicolas Dufresne
9205bcdedb
glmemory: User g_slice_new0 to ensure fully initilized structure
...
The pbo pointer not being initialized would trigger a use of unitilialized variable
in valgrind.
2014-04-23 12:42:44 -04:00
Vincent Penquerc'h
6ec86ca1dc
gl: prevent division by 0 on unsupported texture type
...
Coverity 1199697
2014-04-21 13:23:45 +01:00
Jan Schmidt
b2fe0c50ff
glcolorconvert: Fix bt709 conversion matrices.
...
Fix the sign on one entry in the bt.709 YUV->RGB conversion
matrix, and the corresponding inverse matrix. Fixes really
wrong colouring of some videos.
2014-04-21 22:03:15 +10:00
Sebastian Dröge
cea860021d
codecparsers: vp8: rename dboolhuff symbols.
...
Rename VP8 dboolhuff symbols so that to avoid clashes with libvpx when
static linking.
2014-04-18 16:32:40 +02:00
Gwenole Beauchesne
e2aaa91c5a
codecparsers: vp8: add GStreamer native utilities.
...
Import libvpx 1.3.0 range decoder files (dboolhuff.[ch]) to implement
the VP8 utilities native interface. Likewise, copy and use the default
libvpx generated entropy probabilities tables.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 16:32:40 +02:00
Zhao, Halley
3da5a54399
codecparsers: add VP8 bitstream parser.
...
https://bugzilla.gnome.org/show_bug.cgi?id=722760
[refactored, among other fixes]
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 16:32:40 +02:00
Stefan Ringel
eeaf6e4811
mpegts: add dvb ca identifier descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:23:23 +02:00
Stefan Ringel
0c773b8cdd
mpegts: add scrambling descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:23:05 +02:00
Stefan Ringel
e535967ee9
mpegts: add frequency list descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:22:46 +02:00
Stefan Ringel
ace60abef5
mpegts: add data broadcast id descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Stefan Ringel
065abf6d54
mpegts: add private data specifier descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Sebastian Dröge
8407ee9ee9
dvb: Minor code style fix
2014-04-16 09:21:45 +02:00
Stefan Ringel
e71c264dbb
mpegts: add parential rating descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Stefan Ringel
eb246e2bfd
mpegts: add linkage descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:44 +02:00
Tim-Philipp Müller
990efe1fc0
mpegts: for loop initial declarations are only allowed in C99 mode
...
Fixes compiler warnings.
2014-04-16 00:28:37 +01:00
Julien Isorce
09116bf10d
egl/eglglessink: remove since EGLImage and iOS support have been added in glimagesink
...
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-04-15 18:29:53 +01:00
Julien Isorce
d93ed2b870
gl: allow to include GLES/gl.h
...
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-04-15 17:40:54 +01:00
Sebastian Dröge
e5d96d052b
gl/eagl: Fix compilation
2014-04-13 19:20:32 +02:00
Sebastian Dröge
d3d1b5a5e2
gl/eagl: Notify the window's resize callback about surface dimension changes
...
https://bugzilla.gnome.org/show_bug.cgi?id=728107
2014-04-13 16:55:26 +02:00
Sebastian Dröge
ef509077db
gl/eagl: Remove spurious private struct pointer
2014-04-13 16:55:26 +02:00
Sebastian Dröge
5db4db6836
gl/android: Notify the window's resize callback about surface dimension changes
...
https://bugzilla.gnome.org/show_bug.cgi?id=728107
2014-04-13 16:55:26 +02:00
Matthew Waters
7f37505503
gl/context: output available extensions
2014-04-13 13:49:22 +10:00
Matthew Waters
24f533fae7
gl/context: provide get_gl_version
2014-04-13 13:44:31 +10:00
Julien Isorce
0586e49726
gl/color: restore viewport dimensions when fbo done
...
Regression introduced by 95abfda139
.
It caused to display the wrong frame size when resizing the window.
2014-04-13 10:00:46 +10:00
Sebastian Dröge
47f7bf269a
gl: Import QuartzCore/QuartzCore.h for CAEAGLLayer on older iOS versions
2014-04-12 22:45:30 +02:00
Sebastian Dröge
ae81268565
gl: Add support for iOS EAGL platform
...
https://bugzilla.gnome.org/show_bug.cgi?id=703341
2014-04-12 22:25:13 +02:00
Julien Isorce
6b2c24d0c4
gl/cocoa: make gst_gl_window_cocoa_send_message_async re-entrant
...
Backends that use g_main_context_invoke are re-entrant.
Il allows to call two nested gst_gl_context_thread_add.
ex: init_upload / init_colorconvert
2014-04-12 17:33:44 +01:00
Julien Isorce
871ddef9ce
gl/cocoa: fix NSAutoreleasePool initialization
2014-04-12 15:51:47 +01:00
Julien Isorce
3c49f0f42a
gl/cocoa: ensure to call NSApplication:sharedApplication in the main thread
...
"(NSApplication *)sharedApplication This method also makes a connection
to the window server and completes other initialization"
The implicit thing which is not mentioned is that it required
to be called in the main thread.
Fix a regression introduces by 82b7c915bb
When using with gst-launch, it was not possible to click on the close
cross of the window anymore which is a bit anoying and also because
it's was possible before.
Prior to this commit the GstGLContextCocoaClass was initialized
in the main thread because gst_gl_context_new was called in the
state change function from going from ready to paused.
From this commit this call is done from the streaming thread.
So that the call to [NSApplication sharedApplication];
was not done in the main thread anymore.
We now ensure that by assuming there is a GMainLoop running.
It's for debugging purpose so that's ok to do that. Also
note we already do this assumtion to run app itereations.
The regression had no consequence on the cocoa/videooverlay example
(that should be moved from gst-plugins-gl to -bad) because the
application is responsible for that necessary call.
2014-04-12 15:46:47 +01:00
Julien Isorce
995db85435
gl/color: fix warning type qualifiers ignored
...
i686-apple-darwin11-llvm-gcc-4.2
"warning: type qualifiers ignored on function return type"
2014-04-12 14:55:45 +01:00
Matthew Waters
ab9b54efdd
gl/color: remove if statement with no effect
...
Coverity 1199698
2014-04-12 18:24:43 +10:00
Matthew Waters
a05d62d5ca
gl/color: pass large value by reference
...
Coverity 1199700
2014-04-12 18:18:08 +10:00
Matthew Waters
b69e1f42bb
gl/mem: cache the stride/unpack length for upload
2014-04-11 17:26:09 +10:00
Matthew Waters
7a424780ce
gl/color: explicitly map the buffers we are copying into
...
Otherwise it may not be downloaded at all.
2014-04-11 17:26:09 +10:00
Matthew Waters
1e948cb42e
gl/color: cache the temporary textures
2014-04-11 16:09:09 +10:00
Matthew Waters
d92eb6dbbe
gl/mem: provide defines for tokens not defined in GLES2/ancient platforms
2014-04-11 11:04:43 +10:00
Matthew Waters
8cc10a1c9c
gl: fixup incorrect number of arguments
2014-04-11 11:03:19 +10:00
Matthew Waters
ad30c8e7e8
gl: fix incorrect usage of g_return_if_fail
2014-04-11 10:55:21 +10:00
Matthew Waters
15d0c04933
gl/mem: allocate the memory per plane
...
This patch provides the basic infrastructure required for this.
Upload and Download has been ported to this.
Has the nice effect of allowing GstGLMemory to be our
refcounted texture object for any texture type (not just RGBA).
Should not lose any features/video formats.
2014-04-11 10:37:06 +10:00
Matthew Waters
d8b6303c95
gl/eglimage: #if 0 unused code
2014-04-11 10:37:06 +10:00
Matthew Waters
95abfda139
gl: add colorconvert object that converts between color spaces/formats
...
Currently used by both upload and download objects separately.
2014-04-11 10:37:05 +10:00
Thibault Saunier
15d00a32fd
h264parse: Set framerate even for interlaced videos
...
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
https://bugzilla.gnome.org/show_bug.cgi?id=726752
2014-04-10 09:09:38 +02:00
Stefan Ringel
f566d17202
mpegts: add atsc terrestrial virtual channel table
...
https://bugzilla.gnome.org/show_bug.cgi?id=727460
2014-04-10 09:09:38 +02:00
Vincent Penquerc'h
8f4123a881
mpegts: fix sdt length check
...
It was originally test for 9 bytes (as the comment says) and was
rewritten buggily. So rewrite it a third way, which is now
hopefully consistent with the original and the comment, while
being more sense-making to humans.
Coverity 1139654
2014-04-09 16:01:43 +01:00
Vincent Penquerc'h
195470a785
mpegts: turns out glib aborts on allocation failure
...
So this is actually pointless. We'll just have to ignore
Coverity moaning on those.
Revert "mpegts: test for allocation failure"
This reverts commit 224cb81b8f
.
2014-04-09 16:01:43 +01:00
Vincent Penquerc'h
224cb81b8f
mpegts: test for allocation failure
...
While it's unlikely to get there, it silences the coverity warning
on the error code path that we test for NULL before freeing, when
all branches there are from locations where pmt cannot be NULL,
and removing the NULL check makes the code more vulnerable to a
hypothetical future branch from somewhere where it can be.
Coverity 1139852
2014-04-09 15:44:10 +01:00
Vincent Penquerc'h
cdfce09fb7
gl: fix leaks
...
As the relevant variables are initialized to 0/NULL, we can loop
over the full range and make sure we free partial allocations
when an error happens partway through initialization.
2014-04-08 15:54:01 +01:00
Matthew Waters
e01e2cce9f
gl: pass video info's by reference
2014-04-02 23:05:47 +11:00
Matthew Waters
7d2d3b3b80
gl/glx: use the context's display rather than asking for the window's
2014-04-02 22:53:10 +11:00
Matthew Waters
e58cd96b96
gl: avoid adding a NULL pool to propose allocation
2014-04-02 22:42:50 +11:00
Matthew Waters
14e993e745
gl: fix detection of extensions with GL versions < 3
...
Mesa, for example returns valid pointers for glGetIntegerv and
glGetStringi even if the gl version is less than that required for
both those functions to supposedly exist.
https://bugzilla.gnome.org/show_bug.cgi?id=727324
2014-04-01 22:02:46 +11:00
Stefan Ringel
73862d5096
mpegts: fix docs
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727356
2014-03-31 15:05:48 +02:00
Stefan Ringel
b7efacfe15
mpegts: add dvb-t2 delivery system descriptor
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727356
2014-03-31 15:05:48 +02:00
Stefan Ringel
e8c86e355f
mpegts: bugfix delivery system descriptors
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=726979
2014-03-31 15:02:01 +02:00
Stefan Ringel
d108fe7ee1
mpegts: use GST_READ_UINT32_BE
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
8b8ceb2dd9
mpegts: add parsing data broadcast descriptor
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
f8b7a130cc
mpegts: add parsing stream identifier
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
2e051cf412
mpegts: use glib alloc and free
...
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=727159
2014-03-31 14:54:17 +02:00
Tim-Philipp Müller
0f02311d13
gl: egl: fix distcheck and out of source build
2014-03-28 20:22:43 +00:00
Rico Tzschichholz
d10fcf4d3f
build: Fix make dist
2014-03-28 20:02:40 +00:00
Matthew Waters
e356088f15
gl: fix out-of-source builds pt2
...
21b897de2f
did this for x11 and wayland.
Do it for the other backends as well.
2014-03-27 22:03:14 +11:00
Julien Isorce
75c92dc915
gl: only set CAPS_FEATURE_MEMORY_EGL_IMAGE on egl platform
2014-03-27 07:07:01 +00:00
Julien Isorce
218244a040
gl: let the user includes itself our egl headers if needed
...
Forgot to address this change.
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 19:17:03 +00:00
Julien Isorce
0ae3c984aa
gl: add EGLImage support
...
* picked from old libgstegl:
- GstEGLImageMemory
- GstEGLImageAllocator
- last_buffer management from removed GstEGLImageBufferPool
* add-ons:
- GstEGLImageMemory now old a reference on GstGLContext
so that it can delete the EGLImage and its gltexture source
while having the associated gl context being current.
- add EGLImage support for GstVideoGLTextureUploadMeta which
mainly call EGLImageTargetTexture2D
- GstGLBufferPool now supports GstEGLImageAllocator
- glimagesink / glfilters / etc.. now propose GstEGLImageAllocator
to upstream
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 19:09:13 +00:00
Julien Isorce
6d10548e7f
gl: deploy egl headers in gst/gl/egl instead of gst/gl
...
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 14:52:39 +00:00
Julien Isorce
5bb4c4e866
gl: remove commented and unsued code in x11 Makefile.am
...
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 14:52:31 +00:00
Julien Isorce
2893a70aa0
gl: fix crash if _build_extension_string is not called
...
On GLES2 then (gl->GetIntegerv && gl->GetStringi) is false
regression introduced by cc6df204e2
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 14:51:41 +00:00
Gwenole Beauchesne
e84b0d626c
codecparsers: cosmetics: drop TAB characters.
...
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-25 15:48:40 +01:00
Li Xiaowei
24c1ae72d3
codecparsers: h264: fix slice_header() parsing for MVC.
...
The idr_pic_id syntax element depends on IdrPicFlag, which is a calculated
value that does not only depend on NAL unit type (IDR), but possibly also
on MVC non_idr_flag syntax element.
The computed idr_pic_flag is already stored in GstH264NalUnit structure.
https://bugzilla.gnome.org/show_bug.cgi?id=721772
Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
8dc7ab49fe
codecparsers: h264: add gst_h264_parse_nalu_header() helper.
...
Add helper to parse the NALU header. Move bounds checking to there.
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
e61ae7ffa2
codecparsers: h264: add gst_h264_parse_sps_data() helper.
...
Split seq_parameter_set_data() parsing off gst_h264_parse_sps() so
that it could be re-used later on.
https://bugzilla.gnome.org/show_bug.cgi?id=685215
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
bd4dceeff4
codecparsers: h264: complete set of NAL unit types.
...
Add missing NAL unit types. They are mostly related to alpha blending,
scalable video coding extensions (SVC, Annex.G), and multiview video
coding extensions (MVC, Annex.H).
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
afff27651b
codecparsers: h264: clean-up gst_h264_parser_parse_sei_message().
...
Fix build when GST_DISABLE_GST_DEBUG is not defined. Use a switch
statement to dispatch to the various SEI payload handlers.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
1b42180817
codecparsers: h264: fix skipping of unsupported SEI messages.
...
The payloadSize does not account for emulation prevention bytes. So,
just use nal_reader_skip() for skipping payload_size bits. It should
be possible to further optimize this code since the NAL reader shall
be aligned to byte boundary already.
Kill the now unused nal_reader_skip_to_next_byte() function.
https://bugzilla.gnome.org/show_bug.cgi?id=726829
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 18:09:27 +01:00
Gwenole Beauchesne
aa73624638
codecparsers: h264: fix SEI buffering_period() parsing.
...
Fix parsing of buffering_period() SEI messages. The number of bits
used to express {nal,vcl}_initial_cpb_removal_delay{,_offset} syntax
elements is not 5 but 1 + initial_cpb_removal_delay_length_minus1.
https://bugzilla.gnome.org/show_bug.cgi?id=726828
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 18:09:27 +01:00
Gwenole Beauchesne
80a51a8fab
codecparsers: h264: fix rbsp_more_data() implementation.
...
Account for trailing zero bits when checking for rbsp_more_data().
In particular, fix an hypothetical stream whereby rbsp_more_data()
is called in the following conditions for PPS header: NalReader
reached position 20, 12 bits are remaining and trailing data at
current byte position is c8 00.
rbsp_more_data() used to return TRUE whereas it should obviously
return FALSE because x8 00 represents a valid rbsp_trailing_bits()
structure.
https://bugzilla.gnome.org/show_bug.cgi?id=685890
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 18:09:27 +01:00
Gwenole Beauchesne
21b897de2f
gl: fix out-of-source builds.
...
Always use the locally generated <gst/gl/gstglconfig.h> file.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 17:56:13 +01:00
Matthew Waters
48ef9402bf
gl/download: add support for the bt709 color matrix
2014-03-25 00:50:30 +11:00
Matthew Waters
6d452f60ee
gl/upload: add support for the bt709 color matrix
2014-03-25 00:34:13 +11:00
Matthew Waters
9908375fc0
gl: remove explicit reference to X_CFLAGS
...
They are in GL_CFLAGS if required
2014-03-24 23:19:02 +11:00
Matthew Waters
f55b299826
gl/upload: remove the legacy GL 1.x upload path
...
uploading requires shaders and fbos available in GL2.
2014-03-24 23:19:02 +11:00
Julien Isorce
cc6df204e2
gl: fallback to glGetString if GL_NUM_EXTENSIONS fails
...
Need it on MacOSX 10.7.5
2014-03-23 11:02:08 +00:00
Matthew Waters
11e8b3017a
gl: and update the Makefile
2014-03-23 01:02:03 +11:00
Matthew Waters
3180899a98
gl: reorganize the extension headers by function rather than api
2014-03-23 00:39:43 +11:00
Matthew Waters
45c94fa750
gl/win32: use the correct include and gst-indent
2014-03-23 00:39:43 +11:00
Wang Xin-yu (王昕宇)
05cb4bc6a5
gl: use wglCreateContextAttribsARB to create share context
...
https://bugzilla.gnome.org/show_bug.cgi?id=726494
2014-03-20 15:45:02 +11:00
Matthew Waters
58aa3e9d64
gl/mixer: fix download check for failure
2014-03-20 07:01:01 +11:00
Matthew Waters
faa94a8737
gl: silence a critical if upstream does not provide us with meta params
2014-03-20 07:01:01 +11:00
Julien Isorce
fa4ce072ee
gl: silence warnings building for RPI related to 'vcos_*'
...
Similar than 1190a79b19
2014-03-19 14:43:13 +00:00
Julien Isorce
e870244e39
gl: keep only one occurence of '#include <EGL/egl.h>'
...
To simply maintainance if we need to put specific includes around it.
2014-03-19 14:43:13 +00:00
Руслан Ижбулатов
2a8f52a976
gl: fix the use of always-defined macros
...
After 2a0f0399ae
GST_GL_* macros are always
defined to 0 or 1. Don't use #ifdef ... or #if defined() on them.
https://bugzilla.gnome.org/show_bug.cgi?id=726591
2014-03-18 06:17:03 +00:00
Matthew Waters
a64dd649f5
gl: add GModule libs for win32
2014-03-17 15:16:13 +01:00
Matthew Waters
567820c551
gl: only link against gstegl if we are using egl
...
Assuming if we are building egl that the egl library is built
2014-03-17 15:06:25 +01:00
Matthew Waters
acf1616251
gl: add path of the gstegl library
...
Temporary until we merge the two libraries
2014-03-17 14:37:13 +01:00
Matthew Waters
023c10891e
Revert "gl: add dep on gstegl"
...
It was already in _LIBADD
This reverts commit b10a353080
.
2014-03-17 14:26:31 +01:00
Matthew Waters
b10a353080
gl: add dep on gstegl
...
Temporary until we merge the two libraries
2014-03-17 14:12:50 +01:00
Edward Hervey
16e60d0129
gl/cocoa: Fix debug statements and platform
2014-03-17 14:06:53 +01:00
Edward Hervey
0ae0bfcbc7
gl: Fix static build with objective-C
...
--tag=CC is needed for static build
2014-03-17 12:05:14 +01:00
Matthew Waters
49b37650f6
gl: Add EGLDisplay display subclass
2014-03-17 10:56:39 +01:00
Matthew Waters
b67af0e314
gl/window: add a dummy window class
...
Effective for the case where we have a platform that does not
require a native window. We require a mainloop to run the GL
commands which is currently operated by GstGLWindow.
2014-03-17 10:44:32 +01:00
Matthew Waters
aaa7cfc9fc
gl: fix undeclared symbol when building without GST_DEBUG
2014-03-17 08:10:50 +01:00
Matthew Waters
99c48c34c1
gl: fix a double unref of the query when building without X
2014-03-17 08:10:25 +01:00
Matthew Waters
6da1c48970
gl: silence a compiler warning about missing prototypes
2014-03-16 17:21:38 +01:00
Matthew Waters
5bf83bd48f
gl/utils: add x11 GstContext handling
...
https://bugzilla.gnome.org/show_bug.cgi?id=726360
2014-03-16 16:32:33 +01:00
Matthew Waters
e8bbcb366e
gl: define GL_NUM_EXTENSIONS if not defined
2014-03-16 15:34:11 +01:00
Matthew Waters
6b3fe44185
Move gst-plugins-gl to bad
2014-03-16 15:17:59 +01:00
Matthew Waters
870503dc6b
gl: silence all the compiler warnings
2014-03-16 15:17:44 +01:00
Matthew Waters
92c7849979
[906/906] filter: warn about trying to share with multiple contexts at once
2014-03-15 18:37:07 +01:00
Matthew Waters
a8ce124628
[905/906] Add GL context sharing support for non-gstgl elements
2014-03-15 18:37:07 +01:00
Matthew Waters
f0b10d4edf
[904/906] mixer: ask for display handles on pad activation
2014-03-15 18:37:07 +01:00
Matthew Waters
6527008c2a
[903/906] api: add GstGLPlatform to/from string
2014-03-15 18:37:07 +01:00
Matthew Waters
ea0c6b3f70
[902/906] context: implement glGetStringi handling for GL core contexts/GLES3
2014-03-15 18:37:07 +01:00
Matthew Waters
c3146c0d48
[901/906] glx: use the display handle from the global display
...
Intel drivers require the display handles be the same for context
sharing to occur. Also solves some cases of use after free of the
display when integrating with gstreamer-vaapi.
See https://bugs.freedesktop.org/show_bug.cgi?id=41736 for the intel bug.
2014-03-15 18:37:07 +01:00
Matthew Waters
25a5dabda9
[899/906] egl: warn if we resort to display handles from the window
2014-03-15 18:37:07 +01:00
Matthew Waters
105cfa62fc
[897/906] api: plugin a small memory leak
...
Found by adrien.schwartzentruber@gmail.com
2014-03-15 18:37:07 +01:00
Matthew Waters
b9071875e7
[896/906] utils: use the vtable for deleting the texture
2014-03-15 18:37:07 +01:00
Matthew Waters
8b4503aa6f
[895/906] context: call window_class->close last
...
We should destroy resources before closing the display connection
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725048
2014-03-15 18:37:07 +01:00
Wang Xin-yu (王昕宇)
c3020e3ed8
[894/906] gl: add missing G_BEGIN_DECLS/G_END_DECLS
...
https://bugzilla.gnome.org/show_bug.cgi?id=725111
2014-03-15 18:37:07 +01:00
Matthew Waters
b6b8f9cd88
[893/906] x11: close both of the display's we use
...
(the comment doesn't seem to apply anymore)
https://bugzilla.gnome.org/show_bug.cgi?id=725048
2014-03-15 18:37:07 +01:00
Matthew Waters
ba38db1961
[892/906] silence a compiler warning on older gcc versions (4.6)
2014-03-15 18:37:07 +01:00
Matthew Waters
3ad466945e
[891/906] context: add support for wrapping external contexts
2014-03-15 18:37:07 +01:00
Matthew Waters
0d1d42b205
[890/906] x11: add display subclass
...
GstGLDisplayX11 holds the display connection and name. Each thread requires
it's own X11 Display connection (initialised from name) due to the fact that
we do not want to call XInitThreads(). Doing so would result in segfaults
when integrating with GUI toolkits Gtk, Qt, etc.
The Display connection is for OpenGL platforms where a constant display is
required in order to share contexts (egl). In the case of a wrapped context
(added later), we do not have GstGLWindow to retreive the display from so a
'master' connection is used instead.
2014-03-15 18:37:06 +01:00
Matthew Waters
f4036318da
[889/906] display: add display type enum
2014-03-15 18:37:06 +01:00
Adrien SCH
08d71feaa4
[888/906] correct error handling in gstgldownload.c
2014-03-15 18:37:06 +01:00
Matthew Waters
cdfa3a03c9
[887/906] mixer: fixup a memory leak of the context in the GLTextureUploadMeta path
...
gst_structure_get returns a reference to the object and we asked
for another with gst_object_replace.
https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
687ac78290
[886/906] fixup a memory leak of the context in the GLTextureUploadMeta path
...
gst_structure_get returns a reference to the object and we asked
for another with gst_object_replace.
https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
506e4fc793
[885/906] filter: free our data
...
plugs some memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
d57403ab98
[884/906] filter: return the pad template caps in transform_caps
...
We can transform from any input in our caps to any output.
With the following pipeline snippet:
... ! vaapidecode ! glcolorscale ! xvimagesink
GstVideoGLTextureUploadMeta was being used on both src and sink
pads causing linking to fail. This allows the usage of the meta
on either pad without affecting whether the meta is chosen on the
other pad.
2014-03-15 18:37:06 +01:00
Matthew Waters
767a3524ae
[883/906] api: provide from_string()
...
Also s/gst_gl_api_string/gst_gl_api_to_string/g
2014-03-15 18:37:06 +01:00
Matthew Waters
13aa186711
[881/906] upload: restore default values for unpack_length
...
fixes elements that upload a supplementary texture (glbumber,
gldifferencematte, etc)
2014-03-15 18:37:06 +01:00
Matthew Waters
75825b3626
[879/906] build: don't add X_CFLAGS to CFLAGS
...
It should already be included if needed inside GL_CFLAGS
2014-03-15 18:37:06 +01:00
Chris Paulson-Ellis
1a53bc22c7
[877/906] x11: Use correct format string for guintptr
...
https://bugzilla.gnome.org/show_bug.cgi?id=723537
2014-03-15 18:37:06 +01:00
Matthew Waters
cd7bfb92d4
[876/906] glmem: use GstVideoInfo for format configuration
...
Allows use of strides
2014-03-15 18:37:06 +01:00
Matthew Waters
cba72fbee3
[875/906] upload: support for arbitrary strides
...
Using GL_UNPACK_ALIGNMENT for GLES2 and GL_UNPACK_ROW_LENGTH for everything else
2014-03-15 18:37:06 +01:00
Matthew Waters
0c1a77ca6c
[874/906] filter: implement draw_texture for GLES2
...
(taken from gleffects)
2014-03-15 18:37:06 +01:00
Matthew Waters
4386cc1c6b
[873/906] upload: use GstVideoInfo for choosing the format
2014-03-15 18:37:05 +01:00
Matthew Waters
a2abc0d3b6
[872/906] upload: consolidate data _fill
2014-03-15 18:37:05 +01:00
Matthew Waters
721a5d4c36
[871/906] upload: fix texture scaling for YUY2/UYVY with GLES2
...
Another artifact from the transition to GL_TEXTURE_2D
2014-03-15 18:37:05 +01:00
Matthew Waters
31eb2f5f0d
[870/906] upload: remove superflous g_mutex_init
2014-03-15 18:37:05 +01:00
Matthew Waters
57422186b5
[869/906] tests: add some upload tests
2014-03-15 18:37:05 +01:00
Matthew Waters
53c5245948
[868/906] upload: fix compilation for GLES2
2014-03-15 18:37:05 +01:00
Wang Xin-yu (王昕宇)
30b9bfbf55
[867/906] glupload: Add GRAY8/GRAY16LE/BE upload support to glimagesink
...
the 16bit data is uploaded as LUMINANCE_ALPHA, then expanded, composed
in shader. value weight is a little complicate, high byte weight is
255*256/65535 (denormalize to [0~255] ,shift to high byte,then normalize
to [0~1]), low byte weight is 255/65535(similar)
https://bugzilla.gnome.org/show_bug.cgi?id=722670
2014-03-15 18:37:05 +01:00
Matthew Waters
83d27b9bc2
[866/906] upload: update some docs
2014-03-15 18:37:05 +01:00
Matthew Waters
49a19fb6b1
[865/906] glmem: report successful copy to the caller
2014-03-15 18:37:05 +01:00
Matthew Waters
7b031f648c
[863/906] window: hold a ref to our GstGLDisplay
2014-03-15 18:37:05 +01:00
Matthew Waters
cf7838a0b6
[862/906] window: remove set_need_lock
...
No-one is using it. The only code that did was the x11 one which
doesn't need it anymore.
2014-03-15 18:37:05 +01:00
Wang Xin-yu (王昕宇)
48d92cbe88
[861/906] glprototypes: Add missing glScalef declare
...
https://bugzilla.gnome.org/show_bug.cgi?id=721903
2014-03-15 18:37:05 +01:00
Matthew Waters
cdad19fd43
[860/906] docs: misc updates
2014-03-15 18:37:05 +01:00
Matthew Waters
3049627b87
[859/906] window: provide some documetation
2014-03-15 18:37:05 +01:00
Matthew Waters
aa573cf138
[858/906] glmem: update the docs
2014-03-15 18:37:05 +01:00
Matthew Waters
4d30769b86
[857/906] display: document the new GstContext api
2014-03-15 18:37:05 +01:00
Matthew Waters
4cf2f4ded2
[856/906] context: document it
2014-03-15 18:37:04 +01:00
Matthew Waters
f798d9c9b7
[855/906] upload: add support for GstVideoGLTextureUploadMeta
2014-03-15 18:37:04 +01:00
Matthew Waters
42701927f0
[854/906] use the allocation query to propogate GstGLContext
...
uses the GstVideoGLTextureUploadMeta api type for the query
2014-03-15 18:37:04 +01:00
Matthew Waters
636d307715
[853/906] display: remove _{set,get}_context
...
A GstGLDisplay doesn't need a GstGLContext and its use
was cause a reference cycle
2014-03-15 18:37:04 +01:00
Matthew Waters
79260ff8f9
[852/906] use GstContext for GstGLDisplay propogation
...
implements the hooks required in GstElement::set_context and the context query
2014-03-15 18:37:04 +01:00
Matthew Waters
b0a43c0c65
[850/906] glupload: Remove texture scaling artifacts from the TEXTURE_RECTANGLE -> TEXTURE_2D transition
...
fixes the funky colours in some of the yuv formats
https://bugzilla.gnome.org/show_bug.cgi?id=721155
2014-03-15 18:37:04 +01:00
Matthew Waters
679309e5a8
[848/906] filter: a little code cleanup
2014-03-15 18:37:04 +01:00
Matthew Waters
afdde267ef
[847/906] mixer: unmap the video frames we map
...
plugs a memory leak
2014-03-15 18:37:04 +01:00
Matthew Waters
5cb409218a
[846/906] mixer: handle 0/1 framerate better in caps
2014-03-15 18:37:04 +01:00
Matthew Waters
78a726ebc1
[845/906] filter: handle capsfeatures properly
2014-03-15 18:37:04 +01:00
Matthew Waters
63ccd94d1a
[844/906] mixer: give access to the pads at render time
...
allows us to move the video frame mapping somewhere else
2014-03-15 18:37:04 +01:00
Matthew Waters
4322266b97
[843/906] memory: provide copy_into_texture
2014-03-15 18:37:04 +01:00
Tim-Philipp Müller
43d953905b
[842/906] Fix gstglconfig.h-related 'make distcheck' issues
...
Fix srcdir vs. builddir issue in docs and 'files left after
disclean' issue for gstglconfig.h
2014-03-15 18:37:04 +01:00
Julien Isorce
f506e80686
[841/906] osx: allow x11/glx backend and set default runtime to cocoa/nsgl
...
https://bugzilla.gnome.org/show_bug.cgi?id=719757
2014-03-15 18:37:04 +01:00
Julien Isorce
7a689108d9
[839/906] cocoa: allow to call set_window_handle before to create glcontext
...
So that it actually make cocoa videooverlay example work again.
Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719758
2014-03-15 18:37:03 +01:00
Matthew Waters
b90d824626
[838/906] gl: Use GL_TEXTURE_2D instead of GL_TEXTURE_RECTANGLE
...
We create our textures (in Desktop GL) with GL_TEXTURE_RECTANGLE,
vaapi attempts to bind our texture to GL_TEXTURE_2D which throws a
GL_INVALID_OPERATION error and as thus, no video.
Also, by moving exclusively to GL_TEXTURE_2D and the npot extension
we also remove a difference between the Desktop GL and GLES2 code.
https://bugzilla.gnome.org/show_bug.cgi?id=712287
2014-03-15 18:37:03 +01:00
Matthieu Bouron
52a9869596
[837/906] cocoa: resize OpenGL view size each time the window is resized
...
Fixes glitches that can appear when the OpenGL view has not been resized
after a window resize.
https://bugzilla.gnome.org/show_bug.cgi?id=711672
2014-03-15 18:37:03 +01:00
Matthieu Bouron
fb9684e0f1
[836/906] cocoa: only use GSRegisterCurrentThread with GNUStep environment
2014-03-15 18:37:03 +01:00
Julien Isorce
6fcd8b7206
[835/906] gstglwindow: remove unused fields
2014-03-15 18:37:03 +01:00
Julien Isorce
e5ed59e61c
[834/906] gstglwindow: clear mutex
2014-03-15 18:37:03 +01:00
Julien Isorce
52119203f9
[833/906] gstglcontext: initialize window to NULL
2014-03-15 18:37:03 +01:00
Julien Isorce
d1376390ba
[832/906] x11: ignore Expose events not initiated by gst_gl_window_draw
2014-03-15 18:37:03 +01:00
Julien Isorce
c775bf584b
[831/906] glimagesink: avoid to overload the drawer if already drawing
...
Especially if the application calls gst_video_overlay_expose a lot
2014-03-15 18:37:03 +01:00
Matthew Waters
9c1d2eeafd
[829/906] mixer: error out properly on flushing
2014-03-15 18:37:03 +01:00
Matthew Waters
b571e40ec7
[828/906] context: refcount the display
2014-03-15 18:37:03 +01:00
Matthew Waters
95f7b8dce6
[827/906] mixer: don't unref the query in the default case
...
The element/application performing the query is responsible for the
de/allocation
2014-03-15 18:37:03 +01:00
Matthew Waters
de31f9eb70
[826/906] upload: free our mutex
2014-03-15 18:37:03 +01:00
Julien Isorce
160fad22c0
[825/906] glwindow_x11: check if the loop exists
...
It happens when calling set_window_handle before to reach GST_STATE_READY.
In this case the parent is set when creating the internal window.
2014-03-15 18:37:03 +01:00
Matthew Waters
775ea000dc
[824/906] android: Build fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=709786
2014-03-15 18:37:03 +01:00
Julien Isorce
9515519826
[823/906] wayland_egl: make the wayland backend actually work on Raspberry Pi
...
Fix resizing and can now move the window
2014-03-15 18:37:03 +01:00
Julien Isorce
414989b388
[822/906] gstglcontext_egl: avoid non working EGL confs on rpi/wayland
2014-03-15 18:37:02 +01:00
Julien Isorce
ca9c2cce1a
[821/906] tests: fix test_share on GLESv2
2014-03-15 18:37:02 +01:00
Julien Isorce
979633ed1f
[820/906] gstglwindow: if available use wayland instead dispmanx on rpi
2014-03-15 18:37:02 +01:00
Matthew Waters
2313cea524
[819/906] make gen_texture/del_texture threadsafe
...
Use stack allocated instead of static variables
Conflicts:
gst-libs/gst/gl/gstglutils.c
2014-03-15 18:37:02 +01:00
Matthew Waters
db1c7a242b
[818/906] window: add send_message_async vmethod
...
- provide a default synchronous send_message
- make context creation threadsafe again
2014-03-15 18:37:02 +01:00
Matthew Waters
225d372847
[817/906] make the state change test pass
2014-03-15 18:37:02 +01:00
Matthew Waters
e29d826b0a
[816/906] x11: fix make check segfault
2014-03-15 18:37:02 +01:00
Matthew Waters
d10ccfb795
[815/906] fix some refcount errors
2014-03-15 18:37:02 +01:00
Matthew Waters
888c66d855
[814/906] mixer: timestamp buffers
2014-03-15 18:37:02 +01:00
Matthew Waters
65b6872413
[813/906] unref the pool on shutdown
2014-03-15 18:37:02 +01:00
Matthew Waters
9b22b0e0ba
[812/906] move the GL vtable from GstGLDisplay to GstGLContext
...
Conflicts:
tests/check/libs/gstglcontext.c
2014-03-15 18:37:02 +01:00
Julien Isorce
c806125e15
[810/906] gstglutils: use gl_vtable for glDeleteTextures
2014-03-15 18:37:02 +01:00
Matthew Waters
135ea8e562
[808/906] x11: remove dead code
2014-03-15 18:37:02 +01:00
Matthew Waters
311592f8b1
[807/906] context: Move some window error enums to context
2014-03-15 18:37:02 +01:00
Matthew Waters
cb7bf213fe
[806/906] egl: doesn't require the EGLConfig from the other context
...
libEGL should give us the same or similar EGLConfig from the
EGLDisplay we have.
2014-03-15 18:37:01 +01:00
Matthew Waters
93692c7437
[805/906] glfilter: rename external-opengl-context prop to other-context
...
It now requires a GstGLContext instead of a handle
2014-03-15 18:37:01 +01:00
Julien Isorce
6497947186
[804/906] rpi: call bcm_host_init in plugin_init
2014-03-15 18:37:01 +01:00
Julien Isorce
561a71c244
[803/906] raspberrypi: add support for dispmanx
...
See https://bugzilla.gnome.org/show_bug.cgi?id=703342
2014-03-15 18:37:01 +01:00
Matthew Waters
b24021b1ac
[801/906] context: Reimplement GL context sharing
...
https://bugzilla.gnome.org/show_bug.cgi?id=704806
2014-03-15 18:37:01 +01:00
Matthew Waters
5e0217d4dd
[798/906] build: install needed header
2014-03-15 18:37:01 +01:00
Matthew Waters
c639a2d126
[797/906] x11: fix build for clang
2014-03-15 18:37:01 +01:00
Matthew Waters
32f40b28a5
[796/906] move egl into its own directory
2014-03-15 18:37:01 +01:00
Matthew Waters
f7d4776c7d
[795/906] android: port to GstGLContext
...
not tested
2014-03-15 18:37:01 +01:00
Matthew Waters
95c08c2ee2
[794/906] context: add subclasses for the different platforms (egl, glx, wgl, etc)
...
- most code taken from the Window subclasses
- tested combinations: xEGL, GLX, Wayland+EGL, Cocoa (under GNUStep), WGL (Wine)
2014-03-15 18:37:01 +01:00
Matthew Waters
cf5e910d9b
[793/906] add a GstGLContext object that will be the basis of OpenGL contexts
...
At the moment it just sits in between GstGLDisplay and GstGLWindow
performing some of the stuff that GstGLWindow used to do.
2014-03-15 18:37:01 +01:00
Matthew Waters
b5d595f402
[792/906] build: use our own in tree headers before system ones
...
allows us to develop against the tree rather than what may be installed
2014-03-15 18:37:01 +01:00
Julien Isorce
bfac5a8d76
[791/906] glwindow/x11: remove X11EventSource as soon as the window is deleted
...
gst_gl_window_x11_send_message do not use XSendEvent anymore
2014-03-15 18:37:01 +01:00
Sebastian Dröge
7bd7d7a48f
[789/906] egl: Create a window surface if necessary
2014-03-15 18:37:00 +01:00
Tonu Jaansoo
3662fa14c6
[788/906] osx: Fix compilation
2014-03-15 18:37:00 +01:00
Tonu Jaansoo
e45dfb2f93
[787/906] gl: The GLSL rectangle resampler does not always work with int tex coords
...
Use floats instead.
2014-03-15 18:37:00 +01:00
Sebastian Dröge
52052a758a
[786/906] glprototypes: Add support for NV extensions for DrawBuffers and ReadBuffer
2014-03-15 18:37:00 +01:00
Sebastian Dröge
ba1403fdd4
[785/906] egl: Use EGL_KHR_surfaceless_context instead of creating a useless surface if available
2014-03-15 18:37:00 +01:00
Sebastian Dröge
4f356f999c
[782/906] gldownload: Use strlen() instead of sizeof(char*)
...
gstgldownload.c:846:22: error: argument to 'sizeof' in 'memcpy' call is the same expression as the source; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
2014-03-15 18:37:00 +01:00
Matthew Waters
3130ac1596
[781/906] download: propogate errors from the GL thread
2014-03-15 18:37:00 +01:00
Matthew Waters
f590a1ce23
[780/906] up/download: check return values
...
So we fail properly
2014-03-15 18:37:00 +01:00
Matthew Waters
41a89bafce
[779/906] download: remove _thread variants of the API
2014-03-15 18:37:00 +01:00
Matthew Waters
01a4472b7f
[778/906] upload: remove _thread variants of the API
2014-03-15 18:37:00 +01:00
Matthew Waters
a4445ea016
[777/906] upload: overhaul and addition of new video formats
...
use the shaders from eglglessink (adapted for Desktop GL)
error out properly
2014-03-15 18:37:00 +01:00
Matthew Waters
26e46d449c
[776/906] download: fix compiler warning about missing string format
2014-03-15 18:37:00 +01:00
Sebastian Dröge
228474806c
[775/906] configure: Check for GLeglImageOES and others again
...
https://bugzilla.gnome.org/show_bug.cgi?id=704498
2014-03-15 18:37:00 +01:00
Sebastian Dröge
3900c6750c
[774/906] win32: Fix some compiler errors/warnings
2014-03-15 18:37:00 +01:00
Mathieu Duponchelle
b26c4dbe4e
[773/906] glfilters: Mark writable-only properties as readable as well
...
https://bugzilla.gnome.org/show_bug.cgi?id=704429
2014-03-15 18:37:00 +01:00
Sebastian Dröge
20cb4fb038
[771/906] gl: Some less long/ulong/gulong usage
2014-03-15 18:36:59 +01:00
Matthew Waters
10ca3beee6
[766/906] utils: generate a RGBA texture in all cases
2014-03-15 18:36:59 +01:00
Matthew Waters
3f90c6fbfd
[765/906] wayland: remove fullscreen
2014-03-15 18:36:59 +01:00
Matthew Waters
6b213b1dae
[764/906] filter: fix pad template caps
...
upload is for the sink template
download is form the src template
2014-03-15 18:36:59 +01:00
Matthew Waters
71a70e78f6
[763/906] memory: copy properly depending on where the most recent data is
2014-03-15 18:36:59 +01:00
Sebastian Dröge
f6f0c4ddad
[762/906] glimagesink: Fix some memory leaks and properly set up the buffer pool
2014-03-15 18:36:59 +01:00
Sebastian Dröge
380ab312ca
[761/906] x11: Protect event display connection with a mutex
...
We use it from different threads and need to serialize the
accesses to it.
2014-03-15 18:36:59 +01:00
Sebastian Dröge
ddfc527857
[760/906] x11: Always use the same display connection from the GL thread
...
The other display connection might be used by async calls from elsewhere
at the same time.
https://bugzilla.gnome.org/show_bug.cgi?id=704247
2014-03-15 18:36:59 +01:00
Sebastian Dröge
1a6b357b39
[759/906] gldownload: #ifdef some GLES2 specific code to fix compilation
2014-03-15 18:36:59 +01:00
Sebastian Dröge
030c8ed624
[758/906] android: Don't require a window to be set
...
This allows the filters to be usable without a GL sink downstream.
2014-03-15 18:36:59 +01:00
Sebastian Dröge
39b6b5c272
[757/906] egl: Create an offscreen surface if no window was provided
2014-03-15 18:36:59 +01:00
Sebastian Dröge
7551b627e8
[756/906] gldownload: Reset the viewport after download RGB via GLES2
2014-03-15 18:36:59 +01:00
Sebastian Dröge
62f9105715
[755/906] gldownload: Unbind framebuffer after downloading RGB with GLES2
2014-03-15 18:36:59 +01:00
Sebastian Dröge
743ad83b06
[754/906] gldownload: Add support for RGB reordering when using GLES2
2014-03-15 18:36:58 +01:00
Sebastian Dröge
f4e76a9367
[753/906] gldisplay: Sending a message is synchronous, we can allocate the memory on the stack
2014-03-15 18:36:58 +01:00
Sebastian Dröge
2b6e54d416
[752/906] glwindow: Add destroy notifies for the data of the callbacks
...
And actually call the close callback when the window is closed.
2014-03-15 18:36:58 +01:00
Sebastian Dröge
7dba9d0dce
[751/906] gldisplay: Don't hold lock while sending a message to the GL thread
...
https://bugzilla.gnome.org/show_bug.cgi?id=704247
2014-03-15 18:36:58 +01:00
Sebastian Dröge
60aefacd32
[750/906] glupload: Add support for RGB reordering when using GLES2
2014-03-15 18:36:58 +01:00
Sebastian Dröge
d87a0eaf1d
[749/906] glshader: Add some more debug output
2014-03-15 18:36:58 +01:00
Sebastian Dröge
258bb6fb81
[748/906] glupload: GL_STENCIL_ATTACHMENT is needed for desktop GL, not GLES
2014-03-15 18:36:58 +01:00
Sebastian Dröge
f36efba6da
[747/906] gl: Constify YUV conversion shaders
2014-03-15 18:36:58 +01:00
Sebastian Dröge
98e5077b8f
[746/906] android: Add comment to clarify the type of a variable
2014-03-15 18:36:58 +01:00
Sebastian Dröge
01ce41f684
[745/906] gl: Simplify and optimize YUV conversion shaders a bit
2014-03-15 18:36:58 +01:00
Sebastian Dröge
d7f69c3d93
[744/906] gl: Use __GST_GL_H__ instead of __GL_H__ as a multi-include guard
...
GL/gl.h might use the latter already.
2014-03-15 18:36:58 +01:00
Sebastian Dröge
4c7388be18
[743/906] win32: Allow setting window handle before creating the context
2014-03-15 18:36:58 +01:00
Sebastian Dröge
d00770cec0
[742/906] cocoa: Allow setting window handle before creating the context
2014-03-15 18:36:58 +01:00
Sebastian Dröge
f36ee81a84
[741/906] wayland: Don't leak main context and loop
2014-03-15 18:36:58 +01:00
Sebastian Dröge
7fffd9097e
[740/906] x11: Allow setting window handle before creating the context
2014-03-15 18:36:58 +01:00
Sebastian Dröge
c479544540
[739/906] x11: Don't leak main context and main loop
2014-03-15 18:36:58 +01:00
Sebastian Dröge
16a5316755
[738/906] gl: Include glu.h after gl.h
2014-03-15 18:36:58 +01:00
Sebastian Dröge
a77992c658
[735/906] gl: Add support for Android
...
https://bugzilla.gnome.org/show_bug.cgi?id=703340
2014-03-15 18:36:57 +01:00
Sebastian Dröge
83d066b0a5
[734/906] win32: Make automake happy by using noinst_HEADERS
2014-03-15 18:36:57 +01:00
Sebastian Dröge
a5a46aa833
[733/906] gl: Major header and include cleanup
2014-03-15 18:36:57 +01:00
Julien Isorce
dd7e054e2c
[732/906] build: fix repeated typedefs
...
Write forward declarations in another way to avoid
repeated typedefs "error: redefinition of typedef".
Raised when using i686-apple-darwin11-llvm-gcc-4.2
It seems that C apple compiler does not support
C11 feature.
https://bugzilla.gnome.org/show_bug.cgi?id=703885
2014-03-15 18:36:57 +01:00
Julien Isorce
3c0b9715a9
[731/906] cocoa: fix build when GNUSTEP is not defined
2014-03-15 18:36:57 +01:00
Sebastian Dröge
a98180cd53
[730/906] glcompat: Properly check for GLchar and other types
...
On Android for example these are no #defines but typedefs
2014-03-15 18:36:57 +01:00
Sebastian Dröge
19dff69a2e
[729/906] gl: Include config.h everywhere
2014-03-15 18:36:57 +01:00
Sebastian Dröge
a8d5b21013
[727/906] egl: Refactor EGL logic into a helper object
2014-03-15 18:36:57 +01:00
Matthew Waters
908cc1989b
[726/906] window: don't call a NULL destroy function
2014-03-15 18:36:57 +01:00
Matthew Waters
f9d46c29ca
[725/906] x11: use GMainContext/GMainLoop
...
allows us to be reentrant
https://bugzilla.gnome.org/show_bug.cgi?id=703445
2014-03-15 18:36:57 +01:00
Matthew Waters
96deb2fba3
[724/906] wayland: make reentrant
...
https://bugzilla.gnome.org/show_bug.cgi?id=703445
2014-03-15 18:36:57 +01:00
Julien Isorce
ba19813816
[723/906] gstglwindow: close has to be called in the glthread.
...
Indeed 'glXMakeCurrent (window_x11->device, None, NULL);'
has to be called in the thread where the glcontext is actually
current.
Otherwise glXDestroyContext may crash.
2014-03-15 18:36:57 +01:00
Руслан Ижбулатов
89a6d7ef5d
[722/906] gl: Fix build on Win32
...
1) Need to include GL/glext.h on W32 to provide necessary macros
2) W32 macros that pre-processor has by default are different for different
toolchains. Borland uses __WIN32__, everyone else has _WIN32, so check both.
Side-note: glext.h is not supplied by mingw-w64 at the moment, but can be
downloaded from http://www.opengl.org/registry/
https://bugzilla.gnome.org/show_bug.cgi?id=703364
2014-03-15 18:36:57 +01:00
Sebastian Dröge
c07d72f768
[721/906] glfilter: Use uint64 for the OpenGL context property
...
ulong/long properties are deprecated and should not be used anymore
for portability reasons.
2014-03-15 18:36:57 +01:00
Sebastian Dröge
98cca97840
[719/906] gl: Fix compilation with GLES2
2014-03-15 18:36:56 +01:00
Matthew Waters
11b810fcf5
[718/906] shader: make it possible to unref in the non-GL thread
2014-03-15 18:36:56 +01:00
Matthew Waters
a5b877fb13
[717/906] remove outdated cmake build files
2014-03-15 18:36:56 +01:00
Matthew Waters
f6a9c807f6
[716/906] wayland: properly choose EGL_RENDERABLE_TYPE
...
based on the gl api we chose
2014-03-15 18:36:56 +01:00
Matthew Waters
cdbe8c2d0e
[715/906] display: inherit from the right object class
2014-03-15 18:36:56 +01:00
Matthew Waters
4646a1e95e
[714/906] Add GstGLFramebuffer to replace _display_gen_fbo and friends
...
This version is simply API compatible with _display_gen_fbo.
The next version will likely revamp the API
2014-03-15 18:36:56 +01:00
Matthew Waters
09496fc8a1
[713/906] shader: make it possible to create the object in a non-GL thread
2014-03-15 18:36:56 +01:00
Matthew Waters
4801abb13a
[712/906] wayland: shutdown properly
...
We cannot use _finalize as this will be called before GstGLWindow's
_finalize. This causes us to try and perform operations with the
wayland server when the connection has been severed.
2014-03-15 18:36:56 +01:00
Matthew Waters
118b947e57
[711/906] wayland: support choosing Desktop GL as the api
2014-03-15 18:36:56 +01:00
Matthew Waters
c748fb7999
[710/906] window: fail if the user specifies an GL api that we cannot work with
...
It would've been caught later in an g_assert anyway.
2014-03-15 18:36:56 +01:00
Matthew Waters
53753ad2e6
[709/906] display: some more cleanups
2014-03-15 18:36:56 +01:00
Matthew Waters
c60d94f1bc
[708/906] display: a cleanup and removal of old code
2014-03-15 18:36:56 +01:00
Matthew Waters
c799696b48
[707/906] display: move error_message to utils
2014-03-15 18:36:56 +01:00
Matthew Waters
393b483743
[706/906] display: move activate_context into utils
2014-03-15 18:36:56 +01:00
Matthew Waters
ac4db593f8
[705/906] x11: don't shutdown in _finalize
...
The window's loop could be still running when _finalize is called
and if we destroy the display connection it will never be closed.
Add _open and _close vfuncs to GstGLWindow so that subclasses can
start up and shutdown at the right time.
2014-03-15 18:36:56 +01:00
Matthew Waters
13067b104c
[704/906] Use gst_object_[un]ref so we can get refcounts in the log
2014-03-15 18:36:56 +01:00
Matthew Waters
2d69905592
[703/906] x11: don't segfault if destroy_cb is NULL
2014-03-15 18:36:55 +01:00
Matthew Waters
6dfee9c975
[702/906] x11: fix segfault if the x11 backend is instantiated but not used
2014-03-15 18:36:55 +01:00
Matthew Waters
dbeb6a911b
[701/906] display: move context creation into window
2014-03-15 18:36:55 +01:00
Matthew Waters
5841abc5e4
[700/906] display: move most of the code into utils for sorting later
...
This contains a hack that essentially requires one GstGLDisplay
per process.
2014-03-15 18:36:55 +01:00
Matthew Waters
96114e62cb
[699/906] display: remove list of upload and download objects
...
and only create an up/download object when needed.
2014-03-15 18:36:55 +01:00
Matthew Waters
d76a61608d
[698/906] move sink-specific stuff from GstGLDisplay into glimagesink
2014-03-15 18:36:55 +01:00
Matthew Waters
ba9e2213fc
[697/906] display: allow the user to try and choose the GL api we use via env variable
...
GST_GL_API=opengl,opengl3,gles2,gles3
2014-03-15 18:36:55 +01:00
Matthew Waters
db3c98c688
[696/906] glapi: fix memory leak from not freeing a string
2014-03-15 18:36:55 +01:00
Matthew Waters
9adc3c8cf3
[695/906] build: remove libtool warning about -version-info not used in convenience libraries
2014-03-15 18:36:55 +01:00
Matthew Waters
52c31328e2
[693/906] x11_glx: ask for a 3.0 GL Context
...
(falling back if needed)
2014-03-15 18:36:55 +01:00
Matthew Waters
3af4ce25ff
[692/906] window_x11: add XError trapping
...
some functions in GLX can fail if the implementation does not support
certain features we ask for (i.e. GL 3) bringing down the entire
application
2014-03-15 18:36:55 +01:00
Matthew Waters
7f2770af7c
[691/906] feature: make gst_gl_check_extension public
...
prevents duplication of code of extension string parsing in GstGLWindow's
2014-03-15 18:36:55 +01:00
Matthew Waters
46decac44e
[690/906] windowx11glx: use fbconfigs if supported
2014-03-15 18:36:55 +01:00
Matthew Waters
a9106ccce9
[688/906] display: properly shutdown if we error after context creation
...
The _finalize() code checks to see if the context was created before
attempting to destroy it. We never did say that we had created the context.
2014-03-15 18:36:55 +01:00
Matthew Waters
6b41ea24e8
[685/906] filter: improve error handling
2014-03-15 18:36:54 +01:00
Matthew Waters
0551cfac70
[684/906] display: lack of format-string causing a compiler warning
2014-03-15 18:36:54 +01:00
Matthew Waters
59ea354253
[683/906] feature: remove double free
2014-03-15 18:36:54 +01:00
Matthew Waters
39e5b7c97f
[681/906] win32: fix gl api calls on 32-bit
...
win has the bright idea of having 5 different calling conventions.
we should probably use the right one so we don't crash from stack
corruption.
2014-03-15 18:36:54 +01:00
Matthew Waters
d77828d2cf
[680/906] overlay: tentative port to new GstGLFuncs API
2014-03-15 18:36:54 +01:00
Matthew Waters
d4fabed3e4
[678/906] window_win32_wgl: implement wglGetProcAddress for extension functions
2014-03-15 18:36:54 +01:00
Matthew Waters
74209b9e9e
[677/906] memory: fix GSIZE printf format on win32
2014-03-15 18:36:54 +01:00
Matthew Waters
8b0b154d6e
[676/906] windwo_win32: port to new API
2014-03-15 18:36:54 +01:00
Matthew Waters
7f69a236b9
[675/906] upload: provide nicer debugging
2014-03-15 18:36:54 +01:00
Matthew Waters
01e016d3f4
[674/906] feature: try and catch more GL extension functions
...
if we don't find the extension in core GL, try the extension version anyway
2014-03-15 18:36:54 +01:00
Matthew Waters
9e87a794dd
[673/906] feature: add gstreamer license
2014-03-15 18:36:54 +01:00
Matthew Waters
6aac3abe72
[672/906] display: constify GstGLFuncs *gl
2014-03-15 18:36:54 +01:00
Matthew Waters
7f3aaf504b
[671/906] win32: #include GL/glext.h on windows
...
also add some GL default variables if some GL types are not defined
2014-03-15 18:36:54 +01:00
Matthew Waters
ab0abf649f
[670/906] display: replace glib deprecated api
2014-03-15 18:36:54 +01:00
Matthew Waters
9e8eb32080
[669/906] window: seperate object creation and context creation
2014-03-15 18:36:53 +01:00
Matthew Waters
8b59321a7e
[668/906] shader: fix gles2 segfault
2014-03-15 18:36:53 +01:00
Matthew Waters
7fdc174bbb
[658/906] mixer: fix eos timestamp check
2014-03-15 18:36:53 +01:00
Matthew Waters
3d75c3d5af
[655/906] download: remove erronous ReadBuffer call
...
- it was causing segfaults in mesa
- we didn't set the readbuffer so we shouldn't reset it
2014-03-15 18:36:53 +01:00
Matthew Waters
3ceb7949a8
[652/906] bumper: port to non-GLEW + arrays
2014-03-15 18:36:53 +01:00
Matthew Waters
6bee1ffdd3
[651/906] up/download: fix some typos when removing GLEW
2014-03-15 18:36:52 +01:00
Matthew Waters
a6504181a3
[650/906] filter: fix _draw_texture()'s wrong vertices
2014-03-15 18:36:52 +01:00
Matthew Waters
7b03a572d9
[647/906] remove dependecy on glew
2014-03-15 18:36:52 +01:00
Matthew Waters
2f21abac2e
[646/906] some gl header fixes/additions
2014-03-15 18:36:52 +01:00
Matthew Waters
fcfe6b90a9
[645/906] fix gles2 compilation
2014-03-15 18:36:52 +01:00
Matthew Waters
4f90cd8a64
[644/906] update .gitignore for some new files
2014-03-15 18:36:52 +01:00
Matthew Waters
f4ccde9bf1
[643/906] display: privatise most of the struct
2014-03-15 18:36:52 +01:00
Matthew Waters
fa3c3b8434
[642/906] add gstglconfig.h for apps to find out what our capabilites are
...
ie libgstgl can be compiled with any combination of opengl/gles2
2014-03-15 18:36:52 +01:00
Matthew Waters
4e60858f01
[641/906] display: feature check for GL extension functions
2014-03-15 18:36:52 +01:00
Matthew Waters
fa44030aa3
[640/906] build: add missing file to built sources
2014-03-15 18:36:52 +01:00
Matthew Waters
05d26c78e0
[639/906] add get_proc_address implementations for egl and glx
2014-03-15 18:36:52 +01:00
Matthew Waters
4afc9f01e0
[638/906] window: add get_proc_address + stub for retrieving gl functions
2014-03-15 18:36:52 +01:00
Matthew Waters
d993ab7e4f
[637/906] x11_egl: add prelim support for choosing opengl or gles
2014-03-15 18:36:52 +01:00
Matthew Waters
809646505c
[636/906] window_x11: compact debug info
2014-03-15 18:36:52 +01:00
Matthew Waters
41518af6f2
[635/906] fixup compile errors
2014-03-15 18:36:52 +01:00
Matthew Waters
88a85e7e3b
[634/906] wayland egl: deactivate context before we destroy it
...
avoids a segfault with dri drivers
2014-03-15 18:36:51 +01:00
Matthew Waters
757618a986
[633/906] display: fail properly in context creation in order to minimize a race condition
...
previously, on context creation, when we failed to get a valid context
we would still atempt to run the window mainloop as well as setting an error
on the display. This would cause the calling element to finalize the display
and therefore attempt to quit the window mainloop. However the mainloop
may not have started running. Thus when the window mainloop ran it would
never a get a quit message and never end.
2014-03-15 18:36:51 +01:00
Matthew Waters
ca661a7719
[631/906] remove redefinition warnings in compiling tests
2014-03-15 18:36:51 +01:00
Matthew Waters
b11d8b8664
[630/906] display: add gl api checking
...
i.e. check for cases where the window wants a different API than
what the library was compiled with
2014-03-15 18:36:51 +01:00
Matthew Waters
76dfdd656f
[629/906] window: add GError for error handling of context creation
2014-03-15 18:36:51 +01:00
Matthew Waters
86844030d6
[627/906] shader: check for invalid objects
2014-03-15 18:36:51 +01:00
Matthew Waters
df8c489ada
[625/906] add vtable for opengl functions
...
The vtable provides the ability for one to compile (but not link)
against both OpenGL and GL|ES and starts the move away from GLEW
2014-03-15 18:36:51 +01:00
Matthew Waters
cc8e54541b
[624/906] OPENGL_ES2 => HAVE_GLES2 and add HAVE_OPENGL
...
use GstGLAPI to determine which code paths to execute.
perform some cleanups
2014-03-15 18:36:51 +01:00
Matthew Waters
bbd3b4dbd9
[623/906] move GL includes into a single file
2014-03-15 18:36:51 +01:00
Matthew Waters
59131a0eba
[622/906] add missing GL_STENCIL_ATTACHMENT for gles2 compatability
2014-03-15 18:36:51 +01:00
Matthew Waters
fd998dc0a5
[621/906] GstGLRendererAPI => GstGLAPI and get GstGLAPI from a window
2014-03-15 18:36:51 +01:00
Matthew Waters
46082f2c02
[620/906] wayland_egl: attempt at resizing the video
2014-03-15 18:36:51 +01:00
Matthew Waters
411a87fb0b
[619/906] fix typo for win32 debug variables
2014-03-15 18:36:51 +01:00
Matthew Waters
4a07c73c0c
[618/906] add wayland-egl window backend
2014-03-15 18:36:50 +01:00
Matthew Waters
e357b4aa13
[617/906] fix 'set but not used' compiler warnings
2014-03-15 18:36:50 +01:00
Matthew Waters
1679a0be7e
[616/906] move window-specific code into seperate subfolders
2014-03-15 18:36:50 +01:00
Matthew Waters
7102b5b6ce
[615/906] preliminary support for Win32 EGL
2014-03-15 18:36:50 +01:00
Matthew Waters
d7d1627229
[614/906] try GLX first when using ANY | OPENGL | OPENGL3
2014-03-15 18:36:50 +01:00
Matthew Waters
48ccfcc918
[613/906] window_cocoa: fix segfault with gst-launch-1.0 -e ... and sending SIGINT (Ctrl-C)
...
GNUstep has a signal handler for SIGINT which runs in the main thread.
However that thread has never been 'registered' with GNUstep so
the autorelease magic of objective-c causes a segfault from accessing
a null NSThread object somewhere deep in GNUstep.
2014-03-15 18:36:50 +01:00
Matthew Waters
c080c6c910
[612/906] remove GNUstep makefiles
2014-03-15 18:36:50 +01:00
Matthew Waters
6781fdbcff
[611/906] cocoa port of determining gl platform at runtime
2014-03-15 18:36:50 +01:00
Matthew Waters
78d7965882
[610/906] WindowX11EGL: remove get_platform call
2014-03-15 18:36:50 +01:00
Matthew Waters
3cf1b078bc
[609/906] win32 port of determining GL platform at runtime
...
- add GstGLWindowWin32 and GstGLWindowWin32WGL along the same lines as the
X11 variants
2014-03-15 18:36:50 +01:00
Matthew Waters
e47b04c460
[608/906] add GST_GL_PLATFORM_ANY for choosing any platform
2014-03-15 18:36:50 +01:00
Matthew Waters
0c66b39861
[607/906] remove get_platform and get_window_handle vfuncs
...
- rename choose_visual() to choose_format() for later incorporating
win32 changes and new GstGLPlatform for WGL, EGL, GLX, etc.
2014-03-15 18:36:50 +01:00
Matthew Waters
1984fa3b7f
[606/906] determine the GL platform to use at runtime
...
- Make GstGLWindow subclassablerather than specified at compile time.
- Add GstGLWindowX11 for x11 windows and two subclasses, GstGLWindowX11GLX
and GstGLWindwX11EGL for GLX and EGL repectively. (win32 and cocoa
ports to come)
- Also cleanup GL library detection in configure.ac
2014-03-15 18:36:50 +01:00
Matthew Waters
13ec239924
[605/906] shader: move to gst debugging
2014-03-15 18:36:50 +01:00
Matthew Waters
93f7e993ad
[603/906] update FSF address
2014-03-15 18:36:50 +01:00
Matthew Waters
d01755fcc5
[601/906] fix typo causing shader compilation failure for uploading I420
2014-03-15 18:36:49 +01:00
Matthew Waters
12bf1cfa27
[600/906] docs: add docs for new objects and expand on some existing ones
2014-03-15 18:36:49 +01:00
Matthew Waters
11508f6f7a
[599/906] GL|ES2: fix typos from recent changes and make downloading RGB formats work again
2014-03-15 18:36:49 +01:00
Matthew Waters
e969f6d904
[594/906] filter: update for up/download API changes and scaling fixes
2014-03-15 18:36:49 +01:00
Matthew Waters
fad1b94c41
[592/906] memory: update for up/download API changes
2014-03-15 18:36:49 +01:00
Matthew Waters
9086b0c870
[591/906] mixer: save the upload object instead of querying for it every frame
2014-03-15 18:36:49 +01:00
Matthew Waters
4716682c55
[590/906] up/download: fix scaling on transfer
...
i.e. uploading from a 10x10 video frame to a 20x20 texture into another 30x30 videoframe
2014-03-15 18:36:49 +01:00
Matthew Waters
4cbefd4f09
[587/906] mixer: mirror the changes done for filter
2014-03-15 18:36:49 +01:00
Matthew Waters
28863c4bb4
[586/906] fix up some debug statements to get them into the right categories
2014-03-15 18:36:49 +01:00
Matthew Waters
d9d8946351
[583/906] deinterlace: change for new API
...
also allow elements to call the _filter_texture vfunc if they want
2014-03-15 18:36:48 +01:00
Matthew Waters
e89266b664
[581/906] filter: add seperate filter function for operating on textures instead of buffers
2014-03-15 18:36:48 +01:00
Matthew Waters
558e10be0f
[580/906] bufferpool: remove obselete gl meta buffer pool options
2014-03-15 18:36:48 +01:00
Matthew Waters
cfafeea297
[579/906] download: fix YV12 format
...
same as I420 but plane 1+2 swapped
2014-03-15 18:36:48 +01:00
Matthew Waters
5aa048e53b
[578/906] {up,down}load: add variants that can be called in the gl thread
2014-03-15 18:36:48 +01:00
Matthew Waters
8f4c270ae1
[576/906] remove uneeded GstGLMeta (use GstVideoMeta)
2014-03-15 18:36:48 +01:00
Matthew Waters
fa9a4d6862
[575/906] filter: port to new upload/download
2014-03-15 18:36:48 +01:00
Matthew Waters
5d1395f435
[574/906] memory: implement transperent upload/download for data
...
(not async yet)
2014-03-15 18:36:48 +01:00
Matthew Waters
88cb7e3060
[573/906] add upload and download library objects
...
allows multiple upload pipelines that previously wasn't possible
(i.e. upload RGB and I420 and ... on the same GstGLDisplay)
2014-03-15 18:36:48 +01:00
Matthew Waters
aebcacecf8
[571/906] mixer: fix deadlock on shutdown
...
didn't reiterate over the sinkpad's displays and reactivate them causing a deadlock
2014-03-15 18:36:48 +01:00
Matthew
ed1f04acab
[568/906] window: fix public definitions
2014-03-15 18:36:47 +01:00
Matthew
20406c1de3
[567/906] fix OpenGL|ES2 ifdef'ed code
2014-03-15 18:36:47 +01:00
Matthew Waters
863f21b1f6
[564/906] glmemory: remove unused typedef
2014-03-15 18:36:47 +01:00
Matthew Waters
3f94f31c3d
[563/906] readd support for hanging GL pipelines e.g. ... ! gleffects ! fakesink
2014-03-15 18:36:47 +01:00
Matthew Waters
6de0b127d7
[562/906] gldisplay: fix download of YUV formats
2014-03-15 18:36:47 +01:00
Matthew Waters
7627755581
[561/906] gldisplay: fix endianess issues on RGB download
2014-03-15 18:36:47 +01:00
Matthew Waters
de25a454ce
[559/906] glmixer: pass the mixpad's display to the querying element
2014-03-15 18:36:47 +01:00
Matthew Waters
ce6c6b5065
[555/906] Make the query for a GstGLDisplay a pad peer query
...
Allows the query to pass through bin boundaries and makes it possible for
arbitrary gl elements to be placed in bins.
2014-03-15 18:36:47 +01:00
Matthew Waters
0ef8174881
[554/906] GstGLMemory: update for GstAllocator API changes
2014-03-15 18:36:47 +01:00
Matthew Waters
3affb44884
[544/906] fix memory leaks from not g_free()ing string returned by gst_element_get_name
2014-03-15 18:36:46 +01:00
Matthew Waters
972cd421c7
[543/906] GstGLDisplay: fix segfault from GST_PTR_FORMAT trying to expand the object
2014-03-15 18:36:46 +01:00
Matthew Waters
fe1ce6a7ff
[542/906] GstGLMixer: add allocation and bufferpool methods
...
based off GstBaseTransform
2014-03-15 18:36:46 +01:00
Matthew Waters
a44326f86e
[532/906] GstGLFilter: implement allocation vfuncs
2014-03-15 18:36:45 +01:00
Matthew Waters
ec782a5f27
[528/906] GstGLMeta: seperate upload/download/normal GL caps video formats
...
differentiate between upload, download and GL caps
2014-03-15 18:36:45 +01:00
Matthew Waters
796d326b74
[527/906] GstGLDisplay: add some trace debugging
2014-03-15 18:36:45 +01:00
Matthew Waters
0e5daa29f7
[524/906] GstGLDisplay: rework the download code
...
data paramaters now take GstVideoFrame
remove redundant parameters
2014-03-15 18:36:45 +01:00
Matthew Waters
1ec68db8f0
[522/906] GstGLDisplay: add forgotten function definition
2014-03-15 18:36:45 +01:00
Matthew Waters
2141571de9
[521/906] GstGLMemory: update for GstAllocator changes
2014-03-15 18:36:45 +01:00
Matthew Waters
3ff83c0f37
[520/906] GstGLMixer: fix for GstChildProxy changes
2014-03-15 18:36:45 +01:00
Matthew Waters
69997e311f
[517/906] add GstGLBufferPool
...
which adds GstGLMeta to buffers
2014-03-15 18:36:45 +01:00
Matthew Waters
53dddca0f6
[516/906] add skeleton GstGLMeta
...
the GstVideoMeta _map/unmap functions still need implementing
2014-03-15 18:36:44 +01:00
Matthew Waters
369905e5bd
[515/906] GstGLDisplay: rework gen_texture and upload
...
rename functions so that other code can create textures in the GL thread
change upload functions to take a GstVideoFrame
default to GLSL for upload conversion
2014-03-15 18:36:44 +01:00
Matthew Waters
1331611094
[514/906] add GstGLMemory and allocator
...
implement custom GstMemory for GL textures
currently map/unmap returns NULL although it might be favourable to upload/download/cache the image data
2014-03-15 18:36:44 +01:00
Matthew Waters
71c6aae707
[513/906] Remove GstGLBuffer (to be replaced by GstGLMeta)
2014-03-15 18:36:44 +01:00
Matthew Waters
e07dd2908e
[512/906] GstGLMixer: update for 1.0 based on the videomixer2 element in -good
2014-03-15 18:36:44 +01:00
Matthew Waters
528816def4
[509/906] GstGLDisplay: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
4611fd3301
[504/906] GstGLFilter: update for 1.0
...
-fix up function definitions
-remove _prepare_output_buffer (functionality taken over by GstBufferPool).
2014-03-15 18:36:44 +01:00
Matthew Waters
d66bd69b36
[503/906] Rename GST_BOILERPLATE_* to G_DEFINE_TYPE_* and move _base_init into _class_init
2014-03-15 18:36:44 +01:00
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