Florin Apostol [Wed, 22 Jul 2015 10:42:23 +0000 (11:42 +0100)]
dashdemux: tests: update unit test for baseURL
Update the unit test for baseURL to test that it is properly
resolved taking into account parent baseURL elements.
https://bugzilla.gnome.org/show_bug.cgi?id=752776
Thiago Santos [Sat, 1 Aug 2015 14:51:22 +0000 (11:51 -0300)]
templatematch: revert rename of property
The property doesn't need to have its name changed because of C++,
just the instance variables.
Vanessa Chipirrás [Fri, 31 Jul 2015 16:31:15 +0000 (17:31 +0100)]
facedetect: Add unit test
I created four utilities of the detected features:
1- If you hide your mouth, the volume of video is low.
2- If you hide the nose, the volume of the video is up.
3- If you hide the full face, the video stops.
You can see proof of this here:
https://www.youtube.com/watch?v=pxzejNKV_WQ
https://bugzilla.gnome.org/show_bug.cgi?id=748377
Luis de Bethencourt [Fri, 31 Jul 2015 15:40:07 +0000 (16:40 +0100)]
templatematch: rename conflicting variable
With the switch of gstopencv.c to C++, all OpenCV elements are built with
g++. The template variable clashes with C++'s feature of the same name.
Rename template to templ to avoid any clash.
Vanessa Chipirrás [Fri, 31 Jul 2015 12:45:43 +0000 (13:45 +0100)]
facedetect: need to migrate to C++
The cascade classifier changes its structure on new version of OpenCV.
The need to migrate to C++ to utilize the new load method of OpenCV which
allows to load the new classifiers.
https://bugzilla.gnome.org/show_bug.cgi?id=748377
Vineeth TM [Fri, 31 Jul 2015 01:47:27 +0000 (10:47 +0900)]
dtsdec: fix taglist leak
taglist merge doesnt take ownership. So should free the tags after use
https://bugzilla.gnome.org/show_bug.cgi?id=753086
Heinrich Fink [Thu, 30 Jul 2015 21:31:21 +0000 (23:31 +0200)]
applemedia/avsample: Fix racy cleanup of CA layer
The block that is dispatched async to the main thread assumed the
wrapping GstAvSampleVideoSink to be alive. However, at the time of
the block execution the GstObject instance that is deferenced to access
the CA layer might already be freed, which caused occasional crashes.
Instead, we now only pass the CoreAnimation layer that needs to be
released to the block. We use __block to make sure the block is not
increasing the refcount of the CA layer again on its own.
https://bugzilla.gnome.org/show_bug.cgi?id=753081
Olivier Crête [Thu, 2 Jul 2015 23:34:43 +0000 (19:34 -0400)]
tests: Add test for seeking live pipelines
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Thu, 2 Jul 2015 23:19:33 +0000 (19:19 -0400)]
tests: Make source live to re-enable aggregator timeout tests
The live mode is only enabled if one of the sources if live.
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Thu, 2 Jul 2015 22:37:28 +0000 (18:37 -0400)]
tests: Add audiointerleave test to show that queuing works
This tests fails without the queuing patch because incoming buffers are
not delivered before they are needed.
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Thu, 2 Jul 2015 22:33:43 +0000 (18:33 -0400)]
audiointerleave: Avoid caps processing if not yet negotiated
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Mon, 16 Mar 2015 21:06:46 +0000 (17:06 -0400)]
audioaggregator: On timeout, resync pads with not enough data
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Sat, 7 Mar 2015 00:50:08 +0000 (19:50 -0500)]
aggregator: Queue "latency" buffers at each sink pad.
In the case where you have a source giving the GstAggregator smaller
buffers than it uses, when it reaches a timeout, it will consume the
first buffer, then try to read another buffer for the pad. If the
previous element is not fast enough, it may get the next buffer even
though it may be queued just before. To prevent that race, the easiest
solution is to move the queue inside the GstAggregatorPad itself. It
also means that there is no need for strange code cause by increasing
the min latency without increasing the max latency proportionally.
This also means queuing the synchronized events and possibly acting
on them on the src task.
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Sat, 7 Mar 2015 02:32:04 +0000 (21:32 -0500)]
videoaggregator: Remove broken _clip vfunc
It never does anything.
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Vineeth TM [Wed, 29 Jul 2015 23:58:48 +0000 (08:58 +0900)]
h265parse: Avoid checking for Non Mandatory VPS NAL
VPS is not mandatory, and need not check for its presence before setting
the caps. Because of the check, in streams which don't have VPS,
sticky event mishandling happens.
https://bugzilla.gnome.org/show_bug.cgi?id=752807
Vineeth TM [Thu, 30 Jul 2015 06:33:46 +0000 (15:33 +0900)]
sdpdemux: assertion error due to wrong condition check
In media to caps function, reserved_keys array is being used for variable i,
leading to GLib-CRITICAL **: g_ascii_strcasecmp: assertion 's1 != NULL' failed
changed it to variable j
https://bugzilla.gnome.org/show_bug.cgi?id=753009
Luis de Bethencourt [Thu, 30 Jul 2015 10:12:21 +0000 (11:12 +0100)]
gstglfilterbin: remove unused variable
res is set multiple times but never used or returned. Removing it.
Olivier Crête [Thu, 30 Jul 2015 00:07:09 +0000 (20:07 -0400)]
aggregator: Default to "zero" start time selection mode as documented
Olivier Crête [Thu, 30 Jul 2015 00:06:11 +0000 (20:06 -0400)]
aggregator: Ignore the "first" mode if the segment not a time segment
Sebastian Dröge [Wed, 29 Jul 2015 18:10:57 +0000 (19:10 +0100)]
glupload: Remove debug output from gst_gl_upload_transform_caps()
We can't know if the GstGLUpload type is initialized at this point already,
and thus our debug category might not be initialized yet... and cause an
assertion here.
As we don't print debug output for any of the other transform functions, let's
defer this problem for now.
Luis de Bethencourt [Wed, 29 Jul 2015 16:48:58 +0000 (17:48 +0100)]
glstereomix: remove redundant initialization
v is initialized in the for loop init, no need to do it twice. Removing
first initialization.
Luis de Bethencourt [Wed, 29 Jul 2015 16:29:28 +0000 (17:29 +0100)]
rtp: remove dead assignment
Value set to ret will be overwritten at least once at the end of the while
loop, removing assignment.
Tim-Philipp Müller [Wed, 29 Jul 2015 16:29:29 +0000 (17:29 +0100)]
mpegtsmux: use GQueue instead of GList prepend/reverse
Luis de Bethencourt [Wed, 29 Jul 2015 16:17:16 +0000 (17:17 +0100)]
sdpdemux: remove redundant assignment
Value of p is already set below just before being used. Removing this
first assignment that will be ignored.
Luis de Bethencourt [Wed, 29 Jul 2015 15:51:48 +0000 (16:51 +0100)]
mpegtsbase: remove redundant check
No need to check if done is True since break will already terminate the for
loop.
Sebastian Dröge [Wed, 29 Jul 2015 12:09:05 +0000 (13:09 +0100)]
sdpdemux: Don't assert in GstAdapter if no data was received before EOS
Sebastian Dröge [Tue, 28 Jul 2015 19:30:09 +0000 (22:30 +0300)]
compositor: Add unit tests for the new aggregator start-time-selection property
https://bugzilla.gnome.org/show_bug.cgi?id=749966
Sebastian Dröge [Mon, 15 Jun 2015 16:30:20 +0000 (18:30 +0200)]
aggregator: Add property to select how to decide on a start time
Before aggregator based elements always started at running time 0,
now it's possible to select the first input buffer running time or
explicitly set a start-time value.
https://bugzilla.gnome.org/show_bug.cgi?id=749966
Sebastian Dröge [Wed, 29 Jul 2015 10:25:24 +0000 (11:25 +0100)]
sdpdemux: Strip keys from the fmtp that we use internally in our caps
Skip keys from the fmtp, which we already use ourselves for the
caps. Some software is adding random things like clock-rate into
the fmtp, and we would otherwise here set a string-typed clock-rate
in the caps... and thus fail to create valid RTP caps
https://bugzilla.gnome.org/show_bug.cgi?id=753009
Jan Schmidt [Wed, 29 Jul 2015 12:59:56 +0000 (22:59 +1000)]
h264parse: Add more NAL types for debugging output.
Register more NAL unit types so that they are dumped
by name in the debug output instead of being labelled
'Invalid'
Jan Schmidt [Wed, 29 Jul 2015 12:57:44 +0000 (22:57 +1000)]
mpegtsmux: Don't clear the PID on reset.
The PID on a pad shouldn't change on a state change, only
if the pad is freed and a new one created. Clearing the PID
prevented mpegtsmux from being reused, because all packets
would end up muxed in PID 0
https://bugzilla.gnome.org/show_bug.cgi?id=752999
Jan Schmidt [Wed, 29 Jul 2015 12:56:28 +0000 (22:56 +1000)]
mpegtsmux: Accumulate streamheaders in reverse
Accumulate streamheader packets in reverse into the
GList for efficiency, and reverse the list once when
processing.
Improves muxing speed when there are a lot of
streamheaders.
Sebastian Dröge [Wed, 29 Jul 2015 09:12:43 +0000 (10:12 +0100)]
amcvideoenc: Always set i-frame-interval setting
Most encoders fail to initialize if we don't set it at all.
Vineeth TM [Wed, 29 Jul 2015 03:56:54 +0000 (12:56 +0900)]
h263parse: fix caps memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=752991
Sebastian Dröge [Tue, 28 Jul 2015 18:15:43 +0000 (21:15 +0300)]
aggregator: Query the peer latency again on the next opportunity after a pad was added or removed
Adding a pad will add a new upstream that might have a bigger minimum latency,
so we might have to wait longer. Or it might be the first live upstream, in
which case we will have to start deadline based aggregation.
Removing a pad will remove a new upstream that might have had the biggest
latency, so we can now stop waiting a bit earlier. Or it might be the last
live upstream, in which case we can stop deadline based aggregation.
Nicolas Dufresne [Tue, 28 Jul 2015 15:20:40 +0000 (11:20 -0400)]
glcolorconvert-test: Test notify function for setup_wrapped
gst_gl_memory_setup_wrapped() now takes a destroy notify function. This
destroy notify is called to track the memory life time, hence will
notify each time a memory get destroyed. This test check that the
callback count is correct.
Nicolas Dufresne [Tue, 28 Jul 2015 15:06:43 +0000 (11:06 -0400)]
glcolorconvert-test: Fix build
Nicolas Dufresne [Tue, 28 Jul 2015 12:59:24 +0000 (08:59 -0400)]
glupload: Add fixme about using bufferpool for raw
http://bugzilla.gnome.org/show_bug.cgi?id=752937
Nicolas Dufresne [Mon, 27 Jul 2015 20:58:22 +0000 (16:58 -0400)]
glupload: Keep input frame mapped as long as needed
When performing a raw upload, we need to keep the raw data mapped as
long as needed.
https://bugzilla.gnome.org/show_bug.cgi?id=752937
Nicolas Dufresne [Mon, 27 Jul 2015 19:58:10 +0000 (15:58 -0400)]
Revert "glupload: memcpy on raw data upload"
This reverts commit
82c0189b2842e8729e82a4e73491dffc977bc7c2.
https://bugzilla.gnome.org/show_bug.cgi?id=752937
Florin Apostol [Wed, 15 Jul 2015 15:21:00 +0000 (16:21 +0100)]
dashdemux: gst_mpdparser_get_xml_prop_duration sets default value in case of parsing errors
The gst_mpdparser_get_xml_prop_duration function will set the
property_value to the default_value in case the parsing fails.
https://bugzilla.gnome.org/show_bug.cgi?id=752426
Nirbheek Chauhan [Mon, 27 Jul 2015 13:09:13 +0000 (18:39 +0530)]
opuscommon: Use GString instead of snprintf for concating
Safer, easier to understand, and more portable. Also, skip
all this if the log level is too low.
Matthew Waters [Mon, 27 Jul 2015 11:54:27 +0000 (21:54 +1000)]
glcontext/wgl: fix defenition of gst_gl_context_wgl_new
gstglcontext_wgl.c: In function 'gst_gl_context_wgl_new':
gstglcontext_wgl.c:83:40: error: 'display' undeclared (first use in this function)
Matthew Waters [Mon, 27 Jul 2015 10:03:05 +0000 (20:03 +1000)]
gl/cocoa: fix definition of gst_gl_context_new
gstglcontext_cocoa.m:75:1: error: conflicting types for 'gst_gl_context_cocoa_new'
Matthew Waters [Mon, 27 Jul 2015 10:00:47 +0000 (20:00 +1000)]
gl/win32: fix definition of gst_gl_window_win32_new
Matthew Waters [Mon, 27 Jul 2015 08:21:19 +0000 (18:21 +1000)]
wayland: fail window open if the display is the correct type
Errors out cleanly if a wayland compositor is not running
Matthew Waters [Fri, 24 Jul 2015 07:00:27 +0000 (17:00 +1000)]
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
Matthew Waters [Fri, 24 Jul 2015 06:11:38 +0000 (16:11 +1000)]
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
Julien Isorce [Sun, 5 Jul 2015 23:52:06 +0000 (00:52 +0100)]
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
Jan Schmidt [Mon, 27 Jul 2015 06:36:40 +0000 (16:36 +1000)]
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
Nicolas Dufresne [Sat, 25 Jul 2015 13:03:27 +0000 (09:03 -0400)]
bluez: Add built sources to CLEANFILES
Florin Apostol [Mon, 20 Jul 2015 09:50:44 +0000 (10:50 +0100)]
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
Thiago Santos [Mon, 13 Jul 2015 18:37:26 +0000 (15:37 -0300)]
hlsdemux: demote error to warning
It is not fatal and can be quite normal when the network is
too slow
Miguel París Díaz [Fri, 24 Jul 2015 07:42:53 +0000 (09:42 +0200)]
srtpenc: do not check input buffers
With this we avoid an unnecessary and considerable overhead.
https://bugzilla.gnome.org/show_bug.cgi?id=752774
Julien Isorce [Sun, 5 Jul 2015 23:45:45 +0000 (00:45 +0100)]
gl: move GL_NUM_EXTENSIONS definition after gl.h
https://bugzilla.gnome.org/show_bug.cgi?id=752743
Julien Isorce [Thu, 23 Jul 2015 22:59:22 +0000 (23:59 +0100)]
caopengllayersink: remove unused label context_creation_error
Build error introduced by commit
5457e55f255518d679b59a170951e299ecd8c5f6
https://bugzilla.gnome.org/show_bug.cgi?id=750310
Jan Schmidt [Thu, 23 Jul 2015 16:46:21 +0000 (02:46 +1000)]
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.
Tim-Philipp Müller [Thu, 23 Jul 2015 10:18:47 +0000 (11:18 +0100)]
glimagesink: fix allocation meta structure leak
gst_query_add_allocation_meta() does not take ownership
of the structure, for some reason.
CID 1312135
Luis de Bethencourt [Thu, 23 Jul 2015 09:57:26 +0000 (10:57 +0100)]
glupload: fix memory leak
GstCapsFeatures need to be freed with gst_caps_features_free() after use.
CID #1312136, CID #1312136
Olivier Crête [Fri, 3 Jul 2015 00:10:50 +0000 (20:10 -0400)]
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
Olivier Crête [Wed, 22 Jul 2015 23:27:19 +0000 (19:27 -0400)]
audioaggregator: Register function name
Otherwise, it sometimes segfaults with debugging enabled
Olivier Crête [Wed, 22 Jul 2015 23:26:42 +0000 (19:26 -0400)]
audioaggregator: Use 1.0 style buffer allocation
Nicolas Dufresne [Wed, 22 Jul 2015 20:58:12 +0000 (16:58 -0400)]
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
Nicolas Dufresne [Wed, 22 Jul 2015 19:56:34 +0000 (15:56 -0400)]
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
Nicolas Dufresne [Wed, 22 Jul 2015 18:17:42 +0000 (14:17 -0400)]
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
Nirbheek Chauhan [Tue, 19 May 2015 10:38:08 +0000 (16:08 +0530)]
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
Nicolas Dufresne [Wed, 22 Jul 2015 18:05:34 +0000 (14:05 -0400)]
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
Nicolas Dufresne [Wed, 22 Jul 2015 17:33:12 +0000 (13:33 -0400)]
libgstgl: Makefile style fix
Nicolas Dufresne [Wed, 22 Jul 2015 03:48:25 +0000 (23:48 -0400)]
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
Lubosz Sarnecki [Wed, 22 Jul 2015 01:27:45 +0000 (21:27 -0400)]
gloverlaycompositor: Create own shader object
Make gloverlaycompositor independent of the shader used in the sink.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
Nicolas Dufresne [Tue, 21 Jul 2015 22:47:56 +0000 (18:47 -0400)]
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
Luis de Bethencourt [Wed, 22 Jul 2015 15:10:35 +0000 (16:10 +0100)]
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.
Edward Hervey [Wed, 22 Jul 2015 13:13:48 +0000 (15:13 +0200)]
qt: Don't dist files that might not exist
We only require moc building at build time.
Young Han Lee [Wed, 22 Jul 2015 06:50:26 +0000 (15:50 +0900)]
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
Edward Hervey [Wed, 22 Jul 2015 06:05:04 +0000 (08:05 +0200)]
qt: Tidy up makefile a bit more
Separate generated files, from disted files
Olivier Crête [Wed, 22 Jul 2015 00:52:23 +0000 (20:52 -0400)]
audioaggregator: Read output buffer duration with lock held
Julien Isorce [Tue, 21 Jul 2015 10:23:21 +0000 (11:23 +0100)]
gstglwidget: use gst_gl_display_create_context
Also handle the failure case.
https://bugzilla.gnome.org/show_bug.cgi?id=750310
Julien Isorce [Tue, 21 Jul 2015 10:28:08 +0000 (11:28 +0100)]
caopengllayersink: use gst_gl_display_create_context
https://bugzilla.gnome.org/show_bug.cgi?id=750310
Julien Isorce [Tue, 21 Jul 2015 10:21:27 +0000 (11:21 +0100)]
glstereosplit: use gst_gl_display_create_context
Also unlock the lock on error.
https://bugzilla.gnome.org/show_bug.cgi?id=750310
Luis de Bethencourt [Tue, 21 Jul 2015 13:10:57 +0000 (14:10 +0100)]
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.
Luis de Bethencourt [Tue, 21 Jul 2015 12:11:17 +0000 (13:11 +0100)]
gloverlaycompositor: for loop initial declarations are only allowed in C99 mode
Fixes compiler warnings
Julien Isorce [Fri, 19 Jun 2015 10:57:06 +0000 (11:57 +0100)]
gl: use gst_gl_display_create_context in more elements.
glbasefilter, glbasemixer and gltestsrc.
https://bugzilla.gnome.org/show_bug.cgi?id=750310
Matthew Waters [Tue, 21 Jul 2015 07:34:27 +0000 (17:34 +1000)]
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
Matthew Waters [Tue, 21 Jul 2015 05:39:35 +0000 (15:39 +1000)]
glcolorconvert: add RGB to NV12/NV21 conversion
Lubosz Sarnecki [Wed, 1 Jul 2015 12:01:45 +0000 (14:01 +0200)]
glimagesink: Send reconfigure event when window size changes
https://bugzilla.gnome.org/show_bug.cgi?id=745107
Lubosz Sarnecki [Mon, 20 Jul 2015 18:24:22 +0000 (14:24 -0400)]
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
Lubosz Sarnecki [Mon, 20 Apr 2015 11:17:09 +0000 (13:17 +0200)]
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
Lubosz Sarnecki [Thu, 18 Jun 2015 11:34:58 +0000 (13:34 +0200)]
glupload: Detect overlay meta buffers correctly
https://bugzilla.gnome.org/show_bug.cgi?id=745107
Lubosz Sarnecki [Thu, 18 Jun 2015 03:43:50 +0000 (05:43 +0200)]
glimagesinkbin: Add GstVideoOverlayCompositionMeta caps features
https://bugzilla.gnome.org/show_bug.cgi?id=745107
Lubosz Sarnecki [Thu, 18 Jun 2015 04:04:37 +0000 (06:04 +0200)]
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
Lubosz Sarnecki [Tue, 30 Jun 2015 15:59:12 +0000 (17:59 +0200)]
gloverlaycompositor: Add GstGLOverlayCompositor class
Manages the GstGLCompositionOverlay objects,
caches already uploaded overlays and draws them.
https://bugzilla.gnome.org/show_bug.cgi?id=745107
Lubosz Sarnecki [Thu, 18 Jun 2015 12:15:01 +0000 (14:15 +0200)]
glcompositionoverlay: Add compatibility for GL contexts without glGenVertexArrays
https://bugzilla.gnome.org/show_bug.cgi?id=745107
Lubosz Sarnecki [Sat, 13 Jun 2015 13:35:47 +0000 (15:35 +0200)]
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
Lubosz Sarnecki [Thu, 18 Jun 2015 09:33:29 +0000 (11:33 +0200)]
glupload: Move debug init to top of the file
https://bugzilla.gnome.org/show_bug.cgi?id=745107
Carlos Rafael Giani [Mon, 20 Apr 2015 13:04:56 +0000 (15:04 +0200)]
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
Tim-Philipp Müller [Sat, 18 Jul 2015 20:18:23 +0000 (21:18 +0100)]
adaptivedemux: minor clean-up
No need for a foreach callback function that's just a few
lines of code and is only used once, just do the event
pushing inline.
https://bugzilla.gnome.org/show_bug.cgi?id=705991
Alex Ashley [Fri, 6 Feb 2015 13:22:14 +0000 (13:22 +0000)]
dashdemux: add support for generating Protection events from ContentProtection elements
If a ContentProtection element is present in an AdaptationSet element,
send Protection events on the source pad, so that qtdemux can use this
information to correctly generate its source caps for DASH CENC
encrypted streams.
This allows qtdemux to support CENC encrypted DASH streams where the
content protection specific information is carried in the MPD file
rather than in pssh boxes in the initialisation segments.
This commit adds a new function to the adaptivedemux base class to allow
a GstEvent to be queued for a stream. The queue of events are sent the
next time a buffer is pushed for that stream.
https://bugzilla.gnome.org/show_bug.cgi?id=705991
Tim-Philipp Müller [Mon, 20 Jul 2015 11:40:28 +0000 (12:40 +0100)]
voaacenc: fix output caps for stream-format=ADTS
Should have framed=true in caps. Fixes voaacenc ! mpegtsmux.
Tim-Philipp Müller [Mon, 20 Jul 2015 11:38:28 +0000 (12:38 +0100)]
mpegtsmux: fix aac caps in pad template for raw aac
Raw aac doesn't need framed=true.
Fixes not-negotiated error with voaacenc ! mpegtsmux.
Thibault Saunier [Mon, 20 Jul 2015 09:09:20 +0000 (11:09 +0200)]
gtk: Log GDK GL error when failling creating GdkGLContext