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
Matthew Waters [Mon, 20 Jul 2015 08:19:02 +0000 (18:19 +1000)]
glmemory: check for pbo availability before attempting pbo download
https://bugzilla.gnome.org/show_bug.cgi?id=751165
Matthew Waters [Sat, 18 Jul 2015 07:19:18 +0000 (17:19 +1000)]
glcontext: fix get_current_gl_api on x11/nvidia drivers
They require to get_proc_address some functions through the
platform specific {glX,egl}GetProcAddress rather than the default
GL library symbol lookup.
Matthew Waters [Sat, 18 Jul 2015 07:08:36 +0000 (17:08 +1000)]
glcontext: consolidate get_proc_address function definition
Pass the GstGLAPI directly.
Matthew Waters [Fri, 17 Jul 2015 07:47:37 +0000 (17:47 +1000)]
glcolorconvertelement: propagate failure to convert buffer upstream
Rather than just silently continuing
Matthew Waters [Fri, 17 Jul 2015 03:48:00 +0000 (13:48 +1000)]
glcontext/glx: try creating a context with the highest version
nvidia drivers return the exact version in glGstString (GL_VERSION)
we request on creation so start with the highest known version and
work our way down.
Matthew Waters [Wed, 15 Jul 2015 14:37:58 +0000 (00:37 +1000)]
glcontext: track sharedness with a cookie
The previous approach of traversing the other_context weak ref tree was
1. Less performant
2. Incorrect for context destruction removing a link in the tree
Example of 2:
c1 = context_create (NULL)
c2 = context_create (c1)
c3 = context_create (c2)
context_can_share (c1, c3) == TRUE
context_destroy (c2)
unref (c2)
context_can_share (c1, c3) returns FALSE when it should be TRUE!
This does not remove the restriction that context sharedness can only
be tracked between GstGLContext's.
Matthew Waters [Wed, 15 Jul 2015 14:33:17 +0000 (00:33 +1000)]
glcontext: use the debug object variant for completeness
Nicolas Dufresne [Fri, 17 Jul 2015 20:00:01 +0000 (16:00 -0400)]
gtkgstglwidget: Cleanup unused private member
new_buffer has been moved to base class. Also cleanup
the properties comment, which are also all moved into
the base class.
Nicolas Dufresne [Fri, 17 Jul 2015 19:57:37 +0000 (15:57 -0400)]
gtksink: "widget" must be access from main thread
Document that "widget" property must be accessed from the
main thread (where GTK is running). This is the same for
state transition on these elements. It is very natural to
do so un GTK applications.
Nicolas Dufresne [Fri, 17 Jul 2015 19:08:53 +0000 (15:08 -0400)]
gtkglsink: Don't leak vertex array and buffers
This is now possible since reset is always called from the
main thread.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
Nicolas Dufresne [Fri, 17 Jul 2015 18:36:56 +0000 (14:36 -0400)]
gtkgstbasewidget: Fix black frame on resize
This is solved by only applying the new format when the next
buffer is to be rendered and on the GTK thread.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
Nicolas Dufresne [Fri, 17 Jul 2015 17:05:05 +0000 (13:05 -0400)]
gtkgstbasewidget: Pass already parsed VideoInfo
As the base sink already parse the caps into VideoInfo it
makes sense to pass in VideoInfo to the widget instead.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
Nicolas Dufresne [Thu, 16 Jul 2015 20:49:32 +0000 (16:49 -0400)]
gtkglsink: Port to GstGtkBaseSink base class
https://bugzilla.gnome.org/show_bug.cgi?id=752441
Nicolas Dufresne [Thu, 16 Jul 2015 20:00:37 +0000 (16:00 -0400)]
gtksink: Port to GstGtkBaseSink
https://bugzilla.gnome.org/show_bug.cgi?id=752441
Nicolas Dufresne [Thu, 16 Jul 2015 19:59:59 +0000 (15:59 -0400)]
gtkbasesink: Create a base class
This contains all the common code between the gtkglsink and
gtksink.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
Nicolas Dufresne [Thu, 16 Jul 2015 18:30:42 +0000 (14:30 -0400)]
gtkglsink: Port to GtkGstBaseWidget
https://bugzilla.gnome.org/show_bug.cgi?id=752441
Nicolas Dufresne [Thu, 16 Jul 2015 16:55:11 +0000 (12:55 -0400)]
gtksink: Port to GtkGstBaseWidget
https://bugzilla.gnome.org/show_bug.cgi?id=752441
Nicolas Dufresne [Thu, 16 Jul 2015 16:51:34 +0000 (12:51 -0400)]
gtk: Add GtkGstBaseWidget
This is a "pseudo" base class. Basically it's a shared instance
and class structure and a shared set of function between the
two widget. It cannot have it's own type like normal base class
since the one instance will implement GtkGLArea while the other
implements GtkDrawingAreay. To workaround this, the parent instance
and class is a union of both.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
Nicolas Dufresne [Thu, 16 Jul 2015 20:47:05 +0000 (16:47 -0400)]
uploadelement: Protect against NULL pointer
I notice that if you stop the pipeline during a renegotiation
the upload may be NULL while an allocation query is being run.
In that scenario, returning FALSE to the allocation query is the
best thing.
Nicolas Dufresne [Wed, 15 Jul 2015 21:35:22 +0000 (17:35 -0400)]
gtkgstglwidget: Remove unused gl_caps
Nicolas Dufresne [Wed, 15 Jul 2015 20:56:33 +0000 (16:56 -0400)]
gtksink: Create a window if the widget is unparented
The same way as it's now done with the gtkglsink, create a top
level window if the widget is not parented.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
Nicolas Dufresne [Wed, 15 Jul 2015 18:35:02 +0000 (14:35 -0400)]
gtksink: Ensure the copy pasted code remains the same
Move back the default property at the same place they are in the
other sink. This helps when using a diff viewer to synchronized
this unfortunate copy paste.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
Nicolas Dufresne [Wed, 15 Jul 2015 18:32:42 +0000 (14:32 -0400)]
gtk: Fix race between queue_draw and destroy
In GTK dispose can be called before the last ref is reached. This
happens when you close the container window. The dispose will be
explicitly called, and destroyed notify will be fired. This patch
fixes this race by properly tracking the widget state.
In the sink, we now set the widget pointer to NULL, so the widget
will properly get created again if you set your pipeline to NULL
state after the widget was destroy, and set it back to PLAYING.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
Tim-Philipp Müller [Thu, 16 Jul 2015 20:28:28 +0000 (21:28 +0100)]
dashdemux: remove typefinder, move it to typefindfunctions in -base
Otherwise this plugin will be loaded pretty much whenever
there's anything to typefind. And the code was pretty much
copy'n'paste from -base anyway.
Florin Apostol [Wed, 15 Jul 2015 12:02:54 +0000 (13:02 +0100)]
dashdemux: default timescale is 1
default timescale value should be 1, not 0.
https://bugzilla.gnome.org/show_bug.cgi?id=752414
Florin Apostol [Wed, 15 Jul 2015 12:41:37 +0000 (13:41 +0100)]
dashdemux: free prop_string only after it's no longer needed
https://bugzilla.gnome.org/show_bug.cgi?id=752419
Tim-Philipp Müller [Thu, 16 Jul 2015 16:21:51 +0000 (17:21 +0100)]
Update mailing list address from sourceforge to freedesktop
Nicolas Dufresne [Wed, 15 Jul 2015 15:47:51 +0000 (11:47 -0400)]
gtkgstwidget: Add missing break in get_property
Nicolas Dufresne [Wed, 15 Jul 2015 15:44:30 +0000 (11:44 -0400)]
gtksinks: Remove undefined private structure
The classes contains a private structure which are not defined,
hence unused.
Matthew Waters [Tue, 14 Jul 2015 07:40:32 +0000 (17:40 +1000)]
glupload: memcpy on raw data upload
Anything else requires keeping track of the GstVideoFrame mapping
across possible multiple buffers to ensure correct data pointer
usage.
Matthew Waters [Tue, 14 Jul 2015 07:39:59 +0000 (17:39 +1000)]
glbasebuffer: add some debug and zero the data pointers on init
Tim-Philipp Müller [Fri, 10 Jul 2015 00:00:15 +0000 (01:00 +0100)]
mpegtsmux: don't wait for data on sparse inputs like metadata or subtitle streams
Tim-Philipp Müller [Sun, 9 Nov 2014 19:16:29 +0000 (19:16 +0000)]
mpegtsmux: add basic support for asynchronous KLV metadata streams
This is defined in SMPTE Rp 217. In this case the
metadata PES packets carry no timestamps of their
own and no Metadata Access Unit Wrappers are used.
Ilya Konstantinov [Sun, 28 Jun 2015 23:42:06 +0000 (02:42 +0300)]
vtdec: handle non-consecutive GstBuffer input without copying
CMBlockBuffer offers a model similar to GstBuffer, as it can
consist of multiple non-consecutive memory blocks.
Prior to this change, what we were doing was:
1) Incorrect:
CMBlockBufferCreateWithMemoryBlock does not copy the data,
but we gst_buffer_unmap'd right away.
2) Inefficient:
If the GstBuffer consisted of non-contiguous memory blocks,
gst_buffer_map resulted in malloc / memcpy.
With this change, we construct a CMBlockBuffer out of individual mapped
GstMemory objects. CMBlockBuffer is made to retain the GstMemory
objects (through the use of CMBlockBufferCustomBlockSource), so the
original GstBuffer can be unref'd.
https://bugzilla.gnome.org/show_bug.cgi?id=751241
Matthew Waters [Mon, 13 Jul 2015 13:22:00 +0000 (23:22 +1000)]
applemedia/avsample: fix unconditional use of OSX 10.10 API
We can just not use the error/status properties
https://bugzilla.gnome.org/show_bug.cgi?id=746631
Tim-Philipp Müller [Fri, 10 Jul 2015 18:05:41 +0000 (19:05 +0100)]
configure: try harder to find the right Qt5 build tools
First check for Qt build tools in the host_bins directory
from the Qt5Core pkg-config file. This fixes the situation
where both Qt4 and Qt5 are installed but the global moc/uic/etc.
are the Qt4 version, which would result in build failures.
Edward Hervey [Fri, 10 Jul 2015 12:01:43 +0000 (14:01 +0200)]
configure/qt: Fix build without Qt5X11Extras
Sebastian Dröge [Fri, 10 Jul 2015 10:26:51 +0000 (13:26 +0300)]
mpdparse: g_slice_new() can't return NULL
It will abort() if allocation fails.
Sebastian Dröge [Fri, 10 Jul 2015 10:19:40 +0000 (13:19 +0300)]
mpdparser: Don't allow network access when reading the XML data
Matthew Waters [Fri, 10 Jul 2015 09:22:08 +0000 (19:22 +1000)]
qt: don't error out if Qt X11 could not be found
PCK_CHECK_MODULES default error-if-not-found implementation errors
so override it with a simple notice that we couldn't find the library.
Matthew Waters [Mon, 6 Jul 2015 13:10:51 +0000 (23:10 +1000)]
new qt5 qml GL video sink
Very much in the same spirit as the Gtk GL sink
Two things are provided
1. A QQuickItem subclass that renders out RGBA filled GstGLMemory
buffers that is instantiated from qml.
2. A sink element that will push buffers into (1)
To use
1. Declare the GstGLVideoItem in qml with an appropriate
objectName property set.
2. Get the aforementioned GstGLVideoItem from qml using something like
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
QObject *rootObject = engine.rootObjects().first();
QQuickItem *videoItem = rootObject->findChild<QQuickItem *> ("videoItem");
3. Set the videoItem on the sink
https://bugzilla.gnome.org/show_bug.cgi?id=752185
Rico Tzschichholz [Wed, 8 Jul 2015 15:17:18 +0000 (17:17 +0200)]
bluez: Fix make dist while bluez >= 5 is not available
Edward Hervey [Thu, 9 Jul 2015 16:31:34 +0000 (18:31 +0200)]
mpegtsbase: Fix previous commit
We only want to do a hard reset of the observations if we're working
with TIME segments in push mode. For BYTE segment we want to keep
the observations (in order to do seeks in push-mode).
Edward Hervey [Thu, 9 Jul 2015 14:59:16 +0000 (16:59 +0200)]
mpegtsbase: Flush more on DISCONT buffers in push mode
When in push mode, we want to discard all previous observations from the
mpegtspacketizer when we get a DISCONT buffer.
This avoids trying to calculate bogus timestamps (estimating them using old
PCR observations).
We only do a hard reset in push-mode. In pull-mode we still need the observations
(in order to seek properly)
Edward Hervey [Thu, 9 Jul 2015 09:07:29 +0000 (11:07 +0200)]
gitignore: Add new generated files
Edward Hervey [Thu, 9 Jul 2015 09:05:10 +0000 (11:05 +0200)]
bluez: Include new file in dist'ed files
Fixes make distcheck and tarball generation
Matthew Waters [Thu, 9 Jul 2015 03:03:23 +0000 (13:03 +1000)]
gtk: add to the generic/states test
Xavier Claessens [Wed, 17 Jun 2015 13:36:57 +0000 (09:36 -0400)]
GstGtkGLSink: Ensure widget has a toplevel parent
Checking for a parent is not enough, it must have a toplevel one.
If widget has no toplevel parent then add it in a GtkWindow, that
make it usable from gst-launch-1.0.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
Xavier Claessens [Wed, 17 Jun 2015 13:36:40 +0000 (09:36 -0400)]
GstGtkGLSink: Post error if widget gets destroyed
https://bugzilla.gnome.org/show_bug.cgi?id=751104
Xavier Claessens [Tue, 16 Jun 2015 20:21:26 +0000 (16:21 -0400)]
GstGtkGLSink: fix possible warning in finalize
If the element is finalized before going in READY state
the widget could still be NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
Sebastian Dröge [Wed, 8 Jul 2015 20:14:13 +0000 (23:14 +0300)]
mpdparser: Fix some memory leaks in the MPD parser and unit test
Florin Apostol [Tue, 7 Jul 2015 15:59:52 +0000 (16:59 +0100)]
dashdemux: tests: added unit tests to test all functions
Added unit tests for all functions. Code coverage:
Overall coverage rate:
lines......: 83.8% (1941 of 2316 lines)
functions..: 100.0% (141 of 141 functions)
Roman Donchenko [Wed, 8 Jul 2015 14:08:56 +0000 (17:08 +0300)]
pngparse: fix a GstCaps object leak
https://bugzilla.gnome.org//show_bug.cgi?id=752127
Tim-Philipp Müller [Thu, 26 Mar 2015 11:34:10 +0000 (11:34 +0000)]
tsdemux: remove unnecessary check
This is not public API, use g_assert() instead of
g_return_if_fail(), so that it's compiled out in
releases. It's only called from our code, with &foo.
Tim-Philipp Müller [Mon, 30 Jun 2014 12:20:12 +0000 (13:20 +0100)]
tsdemux: add support for KLV metadata streams
There's no timestamps for these streams though, we
might want to make some up based on the last/next
video PTS or so.
Sebastian Dröge [Wed, 8 Jul 2015 13:31:48 +0000 (16:31 +0300)]
Revert "Revert "dashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS""
This reverts commit
4875ddf5855a26f349df7b385b68eb692e314bfa.
This was based on a misunderstanding of the code.
https://bugzilla.gnome.org/show_bug.cgi?id=752085
Sebastian Dröge [Mon, 6 Jul 2015 10:28:05 +0000 (13:28 +0300)]
gl/eagl: Don't call anything synchronously from the main thread
This will deadlock if the main thread is the one who creates the GstGLContext.
All things we call from the main thread should be possible from any thread.
https://bugzilla.gnome.org/show_bug.cgi?id=751101
Luis de Bethencourt [Wed, 8 Jul 2015 11:16:35 +0000 (12:16 +0100)]
bluez: remove unnecessary goto
All goto fail happen before ret is set. ret must be NULL, and the only
thing the fail statement block does is return NULL. Replacing the jumps to
do this return directly.
CID #1311329
Luis de Bethencourt [Wed, 8 Jul 2015 10:32:58 +0000 (11:32 +0100)]
dashdemux: remove redundant else statement
Else statement is redundant when the if block finishes with an return.
Sebastian Dröge [Wed, 8 Jul 2015 08:42:48 +0000 (11:42 +0300)]
androidmedia: Add support for H265/HEVC
Ilya Konstantinov [Mon, 29 Jun 2015 09:40:55 +0000 (12:40 +0300)]
vtdec: fix refcount error in error handling
https://bugzilla.gnome.org/show_bug.cgi?id=751641
Sebastian Dröge [Tue, 7 Jul 2015 16:48:23 +0000 (19:48 +0300)]
adaptivedemux: Explicitly check for CUSTOM_ERROR when converting errors to EOS
We use things like CUSTOM_SUCCESS* in other places, and those are not errors
but should just be handled like OK.
Sebastian Dröge [Tue, 7 Jul 2015 16:26:00 +0000 (19:26 +0300)]
Revert "dashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS"
This reverts commit
dfe37ffc59fdf5f4075696976d98ec8d6db73138.
https://bugzilla.gnome.org/show_bug.cgi?id=752085
Sebastian Dröge [Tue, 7 Jul 2015 16:25:28 +0000 (19:25 +0300)]
mpdparser: Fix off-by-one in has-next-segment calculation
Sebastian Dröge [Tue, 7 Jul 2015 15:37:24 +0000 (18:37 +0300)]
adaptivedemux: If downloading the last fragment fails, consider this as EOS and not ERROR
Sometimes the last fragment does not exist because of rounding errors with the
durations. Just finish the stream gracefully instead of erroring out instead.