Matthew Waters
4d9ae8ebba
wayland: fail window open if the display is the correct type
...
Errors out cleanly if a wayland compositor is not running
2015-07-27 18:23:33 +10:00
Matthew Waters
3b89d8a23c
glwindow: pass display to implementation's _new()
...
So they have to opportunity to fail if they cannot handle the
display connection.
https://bugzilla.gnome.org/show_bug.cgi?id=752743
2015-07-27 18:23:29 +10:00
Matthew Waters
dbcae77e02
glcontext: pass display to implentation's _new()
...
This allows the context to fail creation based on incompatible
display type's. e.g. glx context with an wayland display handle.
https://bugzilla.gnome.org/show_bug.cgi?id=752743
2015-07-27 18:23:17 +10:00
Julien Isorce
5e4b94c1bb
gl: support cgl, egl and glx within a same build
...
On osx, with the same build,
gst-launch-1.0 videotestsrc ! glimagesink works with:
GST_GL_PLATFORM=egl GST_GL_WINDOW=x11 GST_GL_API=gles2
GST_GL_PLATFORM=egl GST_GL_WINDOW=x11 GST_GL_API=opengl
GST_GL_PLATFORM=glx GST_GL_WINDOW=x11 GST_GL_API=opengl
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa GST_GL_API=opengl
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa GST_GL_API=opengl3
https://bugzilla.gnome.org/show_bug.cgi?id=752743
2015-07-27 09:03:58 +01:00
Jan Schmidt
45f8a27211
glupload: Check that caps contain desired caps features
...
Use 'contains' checks instead of equality checks on caps features
to allow for uploading when caps also contain GstVideoOverlayComposition
meta.
https://bugzilla.gnome.org/show_bug.cgi?id=752912
2015-07-27 17:21:33 +10:00
Nicolas Dufresne
01816b861f
bluez: Add built sources to CLEANFILES
2015-07-25 09:03:27 -04:00
Florin Apostol
90b7c137b6
dahdemux: avoid overflows in computation of segment start time and duration
...
Used gst_util_uint64_scale to avoid overflows when segment start time
or duration is computed.
https://bugzilla.gnome.org/show_bug.cgi?id=752620
2015-07-24 10:09:19 -03:00
Thiago Santos
2ed8a819f6
hlsdemux: demote error to warning
...
It is not fatal and can be quite normal when the network is
too slow
2015-07-24 10:09:19 -03:00
Miguel París Díaz
7db723831d
srtpenc: do not check input buffers
...
With this we avoid an unnecessary and considerable overhead.
https://bugzilla.gnome.org/show_bug.cgi?id=752774
2015-07-24 09:28:01 +01:00
Julien Isorce
90a1ff1383
gl: move GL_NUM_EXTENSIONS definition after gl.h
...
https://bugzilla.gnome.org/show_bug.cgi?id=752743
2015-07-24 00:03:26 +01:00
Julien Isorce
fb6457e90a
caopengllayersink: remove unused label context_creation_error
...
Build error introduced by commit
5457e55f25
https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-24 00:02:32 +01:00
Jan Schmidt
48a1f27923
h264parse: Don't discard first AU delimiter
...
Don't throw away AU delimiter(s) that precede the SPS/PPS. Should
fix MPEG-TS playback on iOS/Quicktime when muxing streams that
already have AU delimiters.
See https://bugzilla.gnome.org/show_bug.cgi?id=736213 for getting
h264parse to insert AU delimiters when they don't already
exist.
2015-07-24 02:46:21 +10:00
Tim-Philipp Müller
2992ff98e5
glimagesink: fix allocation meta structure leak
...
gst_query_add_allocation_meta() does not take ownership
of the structure, for some reason.
CID 1312135
2015-07-23 11:23:41 +01:00
Luis de Bethencourt
7ecf6b0d6c
glupload: fix memory leak
...
GstCapsFeatures need to be freed with gst_caps_features_free() after use.
CID #1312136 , CID #1312136
2015-07-23 10:58:21 +01:00
Olivier Crête
6edf8dbaa6
glvideomixer: Add GstControlBinding proxy
...
This is used to proxy GstControlBinding to the pad on the
parent object. This avoid having to sync the values in the proxy pad,
this is too early if you have a queue between the pad and the actual
aggregation operation.
https://bugzilla.gnome.org/show_bug.cgi?id=734060
2015-07-22 20:59:50 -04:00
Olivier Crête
86fb628d09
audioaggregator: Register function name
...
Otherwise, it sometimes segfaults with debugging enabled
2015-07-22 19:30:19 -04:00
Olivier Crête
034feb5bb9
audioaggregator: Use 1.0 style buffer allocation
2015-07-22 19:30:12 -04:00
Nicolas Dufresne
4f4aedecf3
glupload: Forward composition meta even without params
...
When the sink does not know the window size (e.g not created yet)
it will not add any param to the the composition meta. This is no
reason not to forward this meta API. Fixes issue where it could not
attach until we resize the window.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 17:00:25 -04:00
Nicolas Dufresne
e310e6d540
gloverlaycompositor: Keep memory pointer alive
...
Keep the composition memory pointer alive while it's being
wrapped inside a GstGLMemory object.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 17:00:25 -04:00
Nicolas Dufresne
9c020443e6
gloverlaycompositor: Pass buffer stride
...
The overlay pixel buffer stride was not given back
to the GL image.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 17:00:25 -04:00
Nirbheek Chauhan
ad8cb458ba
audioaggregator: Sync pad values before aggregating
...
We need to sync the pad values before taking the aggregator and pad locks
otherwise the element will just deadlock if there's any property changes
scheduled using GstController since that involves taking the aggregator and pad
locks.
Also add a test for this.
https://bugzilla.gnome.org/show_bug.cgi?id=749574
2015-07-22 19:50:38 +01:00
Nicolas Dufresne
d92375eaae
gloverlaycompositor: Hide GstCompsitionOverlay object
...
This object is only used inside the compositor and does not
need to be expose in libgstgl API.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 14:06:34 -04:00
Nicolas Dufresne
4a1e63817f
libgstgl: Makefile style fix
2015-07-22 13:33:12 -04:00
Nicolas Dufresne
17788157a1
composition-overlay: Positions are relative to texture
...
The coordinate are relative to the texture dimension and not
the window dimension now. There is no need to pass the window
dimension or to update the overlay if the dimension changes.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 13:17:18 -04:00
Lubosz Sarnecki
b155f5d73e
gloverlaycompositor: Create own shader object
...
Make gloverlaycompositor independent of the shader used in the sink.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 13:16:39 -04:00
Nicolas Dufresne
e8c31619c4
glimagesink: Properly handle compsositor life time
...
Should be created in READY_TO_PAUSED, not PAUSED_TO_PLAYING.
Should be cleared in PAUSED_TO_READY.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-22 13:07:58 -04:00
Luis de Bethencourt
3bf12a1b9f
liveadder: remove unneeded variable
...
ret is declared just to initialize to TRUE and overwrite with the value of
vret. We can return the value of vret directly. vret is TRUE unless the
forward_event_func sets it to FALSE.
2015-07-22 16:14:16 +01:00
Edward Hervey
3b751bf775
qt: Don't dist files that might not exist
...
We only require moc building at build time.
2015-07-22 15:14:28 +02:00
Young Han Lee
1c9db3df42
configure: require libxml2 >= 2.8 for DASH plugin
...
The DASH plugin uses xmlBufferDetach now in the code
that handles ContentProtection elements.
https://bugzilla.gnome.org/show_bug.cgi?id=752703
2015-07-22 10:52:34 +01:00
Edward Hervey
5f8633b6f3
qt: Tidy up makefile a bit more
...
Separate generated files, from disted files
2015-07-22 08:06:19 +02:00
Olivier Crête
f8f9c72cc5
audioaggregator: Read output buffer duration with lock held
2015-07-21 21:55:25 -04:00
Julien Isorce
6125ea7e97
gstglwidget: use gst_gl_display_create_context
...
Also handle the failure case.
https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-21 15:06:34 +01:00
Julien Isorce
5457e55f25
caopengllayersink: use gst_gl_display_create_context
...
https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-21 14:55:35 +01:00
Julien Isorce
6fc5b18138
glstereosplit: use gst_gl_display_create_context
...
Also unlock the lock on error.
https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-21 14:55:11 +01:00
Luis de Bethencourt
ac54fa8c95
liveadder: return false if event couldn't be pushed
...
Make the gst pad's event function return false if the event couldn't be
pushed to the pad.
2015-07-21 14:11:01 +01:00
Luis de Bethencourt
c9820f20e2
gloverlaycompositor: for loop initial declarations are only allowed in C99 mode
...
Fixes compiler warnings
2015-07-21 13:11:21 +01:00
Julien Isorce
57f389d9ce
gl: use gst_gl_display_create_context in more elements.
...
glbasefilter, glbasemixer and gltestsrc.
https://bugzilla.gnome.org/show_bug.cgi?id=750310
2015-07-21 11:37:21 +01:00
Matthew Waters
2fc017e822
gl/build: fix typo in _HEADERS resulting in installing the wrong file
...
/usr/include/gstreamer-1.0/gst/gl/gl.h:51:43: fatal error:
gst/gl/gstgloverlaycompositor.h: No such file or directory
2015-07-21 17:34:27 +10:00
Matthew Waters
b3357754c1
glcolorconvert: add RGB to NV12/NV21 conversion
2015-07-21 15:39:35 +10:00
Lubosz Sarnecki
2b7542400c
glimagesink: Send reconfigure event when window size changes
...
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:12 -04:00
Lubosz Sarnecki
2fb862b34f
glimagesinkbin: Add allocation query for GstVideoOverlayComposition
...
Adds an GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE query to glupload
and glimagesink. Detects the query from the downstream elements, so
it is executed only when downstream supports the overlay API.
This makes pipelines with textoverlay ! glupload ! gldownload ! xvimagesink possible.
Uses allocation meta struct for passing the window size upstream.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:12 -04:00
Lubosz Sarnecki
555428872c
glcolorconvert: Apply GstVideoOverlayCompositionMeta buffer to converted buffer
...
Since glcolorconvert creates a new GstBuffer,
without the GstVideoOverlayCompositionMeta data,
it needs to be copied to not be dropped.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:12 -04:00
Lubosz Sarnecki
6eaeefc6a9
glupload: Detect overlay meta buffers correctly
...
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:12 -04:00
Lubosz Sarnecki
a7d1b7fcad
glimagesinkbin: Add GstVideoOverlayCompositionMeta caps features
...
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:12 -04:00
Lubosz Sarnecki
778ad10518
glimagesink: Upload and draw overlays with GstGLOverlayCompositor
...
Receives the GstOverlayComposition buffer in the glimagesink and draws them.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:11 -04:00
Lubosz Sarnecki
b2601a7b43
gloverlaycompositor: Add GstGLOverlayCompositor class
...
Manages the GstGLCompositionOverlay objects,
caches already uploaded overlays and draws them.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:11 -04:00
Lubosz Sarnecki
b4a4999bb2
glcompositionoverlay: Add compatibility for GL contexts without glGenVertexArrays
...
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:11 -04:00
Lubosz Sarnecki
7c7f84c603
glcompositionoverlay: Add class for managing GstVideoOverlayCompositionOverlay buffers
...
Add a class to store and manage the OpenGL texture,
vertex buffer and GstVideoOverlayRectangle.
Transforms overlay coordinate space to vertex buffer space with aspect ratios in mind.
= Example Pipelines =
Simple pipeline
gst-launch-1.0 videotestsrc ! \
textoverlay text="Hello World" font-desc="sans bold 30" ! \
glimagesink
Display 3 static overlays at different positions
gst-launch-1.0 videotestsrc ! \
textoverlay text="text1" valignment="top" font-desc="sans bold 30" ! \
textoverlay text="text2" halignment="right" font-desc="sans bold 30" ! \
textoverlay text="text3" halignment="left" font-desc="sans bold 30" ! \
glimagesink
Display subtitle file over testsrc
gst-launch-1.0 videotestsrc ! \
textoverlay name=foo filesrc location=foo.srt ! subparse ! queue ! foo. foo. ! \
glimagesink
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:41:11 -04:00
Lubosz Sarnecki
60c8b73cf5
glupload: Move debug init to top of the file
...
https://bugzilla.gnome.org/show_bug.cgi?id=745107
2015-07-20 14:06:29 -04:00
Carlos Rafael Giani
a595874aac
opusdec: Fix PLC frame size calculations
...
Previously, PLC frames always had a length of 120ms, which caused audio
quality degradation and synchronization errors. Fix this by calculating an
appropriate length for the PLC frame.
The length must be a multiple of 2.5ms. Calculate a multiple of 2.5ms that
is nearest to the current PLC length. Any leftover PLC length that didn't
make it into this frame is accumulated for the next PLC frame.
https://bugzilla.gnome.org/show_bug.cgi?id=725167
2015-07-20 13:25:43 -04:00