Thiago Santos [Tue, 13 May 2014 14:22:58 +0000 (11:22 -0300)]
dashdemux: mpdparser: properly unref gstdatetime
Avoid leaking the GstDateTime instances when summing dates
CID #1212143
Thiago Santos [Tue, 13 May 2014 13:24:51 +0000 (10:24 -0300)]
dashdemux: mpdparser: avoid double free of segment timeline node
The parsing function already frees the old value (if any), avoid a double
free by not freeing it before calling the function without setting the
pointer to NULL
Coverity ID: 1212178
Thiago Santos [Tue, 13 May 2014 13:13:37 +0000 (10:13 -0300)]
dashdemux: mpdparser: avoid double free
The _parse_url function already frees the previous pointer, avoid
freeing it before without setting to null or we have a double free.
Coverity ID: 1212181
Coverity ID: 1212180
Coverity ID: 1212179
Edward Hervey [Tue, 13 May 2014 12:21:15 +0000 (14:21 +0200)]
schrodec: Use pool configuration
It was leaking the config, but also not using it...
CID #1212155
Edward Hervey [Tue, 13 May 2014 12:15:24 +0000 (14:15 +0200)]
rsvg: Don't leak GstVideoCodecState
And avoid useless call to _get_output_state (set_output_state() already
returns it).
CID #1212160
CID #1212161
Edward Hervey [Tue, 13 May 2014 11:54:23 +0000 (13:54 +0200)]
mpegtbase: Small rewrite
Setting done was useless anyway
Edward Hervey [Tue, 13 May 2014 11:52:48 +0000 (13:52 +0200)]
dash: Don't leak GstActiveStream
CID #1212142
Edward Hervey [Tue, 13 May 2014 09:41:42 +0000 (11:41 +0200)]
shm: Don't leak GstShmPipe
By reordering the leaking code path to before the allocation
CID #1212153
Edward Hervey [Tue, 13 May 2014 09:38:44 +0000 (11:38 +0200)]
vmndec: Don't leak output state
_set_output_state returns a reference to the codec state.
CID #1212170
Edward Hervey [Tue, 13 May 2014 09:35:46 +0000 (11:35 +0200)]
sdpdemux: Don't leak adapter data
CID #1212158
Edward Hervey [Tue, 13 May 2014 09:30:35 +0000 (11:30 +0200)]
mpegpsmux; Fix stream leak
CID #1212164
Edward Hervey [Tue, 13 May 2014 09:23:42 +0000 (11:23 +0200)]
jp2kdecimator: Don't leak various slices and arrays
CID #1212139
CID #1212140
CID #1212141
Edward Hervey [Tue, 13 May 2014 09:19:24 +0000 (11:19 +0200)]
asfmux: Don't leak bytereader
By making it go through the error path that takes care of cleanups
CID #1212168
Nicolas Dufresne [Mon, 12 May 2014 17:50:47 +0000 (13:50 -0400)]
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.
Nicolas Dufresne [Mon, 12 May 2014 16:59:59 +0000 (12:59 -0400)]
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.
Nicolas Dufresne [Mon, 12 May 2014 16:57:18 +0000 (12:57 -0400)]
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.
Thiago Santos [Mon, 12 May 2014 21:28:45 +0000 (18:28 -0300)]
mssdemux: avoid deadlocking when erroring
It might get stuck when posting the message while
a reconfigure event is being pushed upstream
Thiago Santos [Mon, 12 May 2014 20:37:16 +0000 (17:37 -0300)]
mssdemux: fix caps leak
Thiago Santos [Mon, 12 May 2014 18:43:05 +0000 (15:43 -0300)]
mssdemux: handle error messages from internal source
set up a bin message handler to get notified of error messages from
the internal source element
Thiago Santos [Mon, 12 May 2014 17:58:45 +0000 (14:58 -0300)]
mssdemux: Always accept the latency configure event
Upstream or internal elements are irrelevant and we should
always succeed.
Thiago Santos [Mon, 12 May 2014 17:51:00 +0000 (14:51 -0300)]
mssdemux: reenable segment tracking for streams
Store the latest pushed timestamp so that mssdemux streams know
where they are in time
Thiago Santos [Mon, 12 May 2014 17:23:15 +0000 (14:23 -0300)]
mssdemux: deprecate unused max-queue-size-buffers
There is no internal storage of buffers anymore
Thiago Santos [Mon, 12 May 2014 17:18:13 +0000 (14:18 -0300)]
mssdemux: measure bitrate similarly to hlsdemux
new bitrate = (old bitrate + (last fragment bitrate * 3)) / 4
Thiago Santos [Mon, 12 May 2014 16:40:19 +0000 (13:40 -0300)]
mssdemux: remove uridownloader in favor of internal source
Refactor mssdemux to remove uridownloader to use an internal
source element which reduces startup latency and provides smaller
buffers for better buffering management downstream
Thiago Santos [Mon, 12 May 2014 16:28:35 +0000 (13:28 -0300)]
dashdemux: initialize the mutex and cond for fragment download
Julien Isorce [Mon, 12 May 2014 12:32:31 +0000 (13:32 +0100)]
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.
Matthew Waters [Sun, 11 May 2014 02:48:52 +0000 (12:48 +1000)]
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
Matthew Waters [Mon, 12 May 2014 11:56:06 +0000 (21:56 +1000)]
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
Matthew Waters [Mon, 12 May 2014 11:51:38 +0000 (21:51 +1000)]
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
Sebastian Dröge [Mon, 12 May 2014 08:01:43 +0000 (10:01 +0200)]
dvbsrc: Don't free string we're still using
CID 1213780
Thiago Santos [Sun, 11 May 2014 18:26:45 +0000 (15:26 -0300)]
dashdemux: remove unused stream uridownloader
The uridownloader for the stream fragments isn't used anymore.
Sebastian Dröge [Sun, 11 May 2014 05:56:17 +0000 (07:56 +0200)]
assrender: Do not try to add a feature to a caps features ANY
It does not makes sense and asserts
Based on
7f9aac386fd5d5921c80100889a5f212c0148a88 from gst-plugins-base.
Sebastian Dröge [Sun, 11 May 2014 05:55:59 +0000 (07:55 +0200)]
dvbsuboverlay: Do not try to add a feature to a caps features ANY
It does not makes sense and asserts.
Based on
7f9aac386fd5d5921c80100889a5f212c0148a88 from gst-plugins-base.
Matthew Waters [Sun, 11 May 2014 04:02:34 +0000 (14:02 +1000)]
gl/colorconvert: choose the right alpha component for AYUV -> RGBA
Matthew Waters [Sun, 11 May 2014 00:27:02 +0000 (10:27 +1000)]
gl/upload: update the respective state when we cache textures/data
Reynaldo H. Verdejo Pinochet [Thu, 1 May 2014 06:10:20 +0000 (02:10 -0400)]
dvbsrc: drop C++ style comments
This patch builds on previous work done by
Fabrizio (Misto) Milo <mistobaan@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=641204
Reynaldo H. Verdejo Pinochet [Thu, 1 May 2014 05:58:03 +0000 (01:58 -0400)]
dvbsrc: fix up error reporting
This patch builds on previous work done by
Fabrizio (Misto) Milo <mistobaan@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=641204
Matthew Waters [Sat, 10 May 2014 13:33:24 +0000 (23:33 +1000)]
gl/upload: cache the textures that we are using
Matthew Waters [Sat, 10 May 2014 12:48:05 +0000 (22:48 +1000)]
gl/upload: avoid recreating the GLMemory struct for output textures
Tim-Philipp Müller [Fri, 11 Apr 2014 18:38:32 +0000 (19:38 +0100)]
rtmpsrc: error out if we get EOS immediately without any data
It's not really right to just go EOS as if nothing was wrong.
Tim-Philipp Müller [Sat, 10 May 2014 11:54:58 +0000 (12:54 +0100)]
tsdemux: remove confusing debug log line
Olivier Crête [Thu, 8 May 2014 00:08:08 +0000 (20:08 -0400)]
autoconvert: factories don't need the lock
An atomic is enough, they can only be set once.
Olivier Crête [Sat, 10 May 2014 00:06:12 +0000 (20:06 -0400)]
Revert "autoconvert: Handle caps query on internal srcpad"
This is not needed anymore if the gst_pad_link checks nothing.
This reverts commit
a303375a3f5c12e97ca8bf50b5a93ce8652faf23.
Olivier Crête [Sat, 10 May 2014 00:12:27 +0000 (20:12 -0400)]
autoconvert: No need to check anything when linking internal pads
Olivier Crête [Sat, 10 May 2014 00:05:07 +0000 (20:05 -0400)]
autoconvert: Don't ignore elements accepted ANY, it is valid
Olivier Crête [Fri, 9 May 2014 22:49:14 +0000 (18:49 -0400)]
autoconvert: Remove broken usage of the iterator
We're a subclass, so we can just take the object lock and iterate the list
directly.
Olivier Crête [Thu, 8 May 2014 23:35:07 +0000 (19:35 -0400)]
autoconvert: Process upstream getcaps
Process it like downstream getcaps
Olivier Crête [Thu, 8 May 2014 00:00:08 +0000 (20:00 -0400)]
autoconvert: Return the GList of factories, to a pointer to it.
Olivier Crête [Wed, 7 May 2014 23:54:46 +0000 (19:54 -0400)]
autoconvert: subelement can only be change with stream lock held
It was already the case, now be more explicit about that, and remove useless
lock/ref/unlock/unref dances.
Olivier Crête [Wed, 7 May 2014 23:48:49 +0000 (19:48 -0400)]
autoconvert: Keep a ref to the pads too
Simplifies the code
Olivier Crête [Wed, 7 May 2014 23:47:04 +0000 (19:47 -0400)]
autoconvert: Remove uneeded if()
NULL is valid GList
Olivier Crête [Wed, 7 May 2014 23:44:11 +0000 (19:44 -0400)]
autoconvert: Always push reconfigure upstream too
A reconfigure could trigger a change of contents instead of just reconfiguring the internal element
Olivier Crête [Wed, 7 May 2014 23:43:13 +0000 (19:43 -0400)]
autoconvert: Remove unused internal parameter
Nicolas Dufresne [Fri, 9 May 2014 22:59:46 +0000 (18:59 -0400)]
gl: Fix some of the error handling
Nicolas Dufresne [Fri, 9 May 2014 21:59:43 +0000 (17:59 -0400)]
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.
Sebastian Dröge [Fri, 9 May 2014 13:42:08 +0000 (15:42 +0200)]
gl: Fix memory leak
CID #1212171
Sebastian Dröge [Fri, 9 May 2014 13:26:31 +0000 (15:26 +0200)]
hls: Remove invalid free
data does not have to be freed at all here, it's a pointer to
an arbitrary position inside the current line. Also don't reuse
the data variable for anything else, that will cause crashes
in playlists that have the I-frame playlist URI followed by
other attributes.
CID 1212127
Edward Hervey [Fri, 9 May 2014 12:31:57 +0000 (14:31 +0200)]
mpegts: Fix leak
The cell extension was never added to the parent cell
CID #1212162
Matthew Waters [Fri, 9 May 2014 12:22:43 +0000 (22:22 +1000)]
gl/colorconvert: preserve alpha in AYUV <-> RGBA conversions
https://bugzilla.gnome.org/show_bug.cgi?id=729743
Matthew Waters [Fri, 9 May 2014 08:07:03 +0000 (18:07 +1000)]
gl/colorconvert: implement lazy init
Julien Isorce [Thu, 8 May 2014 14:38:24 +0000 (15:38 +0100)]
gl/upload: set initted to TRUE when _init_upload succeeded
Sebastian Dröge [Thu, 8 May 2014 20:49:33 +0000 (22:49 +0200)]
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.
Julien Isorce [Thu, 8 May 2014 15:08:08 +0000 (16:08 +0100)]
gleffects: use gl_vtable
Matthew Waters [Thu, 8 May 2014 07:28:11 +0000 (17:28 +1000)]
gl/upload: fix compilation on OS X
Matthew Waters [Thu, 8 May 2014 05:40:33 +0000 (15:40 +1000)]
gl/upload: fail propoerly if init fails
Matthew Waters [Thu, 8 May 2014 05:30:49 +0000 (15:30 +1000)]
gl: make all GObjects inherit from GstObject
Aids memory leak debugging with GST_TRACE=mem-live
Matthew Waters [Thu, 8 May 2014 03:46:29 +0000 (13:46 +1000)]
gl/upload: implement lazy init
Rename init_format to set_format
Matthew Waters [Wed, 7 May 2014 14:59:42 +0000 (00:59 +1000)]
gl/upload: add get_format method
Simply retreives the format set by init_format
Matthew Waters [Wed, 7 May 2014 14:48:07 +0000 (00:48 +1000)]
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.
Matthew Waters [Wed, 7 May 2014 14:43:14 +0000 (00:43 +1000)]
gl/filter: always initialize the upload object
Matthew Waters [Wed, 7 May 2014 11:45:53 +0000 (21:45 +1000)]
gl: advertise GstGLMemory usage in the caps as capsfeatures
https://bugzilla.gnome.org/show_bug.cgi?id=729658
Matthew Waters [Wed, 7 May 2014 10:12:23 +0000 (20:12 +1000)]
gl/examples: fix compilation for clutter examples
ClutterX11TexturePixmap is deprecated in Clutter 1.6 and we ask for
at least 1.8
Matthew Waters [Wed, 7 May 2014 09:05:55 +0000 (19:05 +1000)]
gl/display: avoid endless recursion for cocoa
Thiago Santos [Tue, 6 May 2014 11:52:27 +0000 (08:52 -0300)]
dashdemux: deprecate max-buffering-time property
It is not used as dashdemux doesn't have a internal buffer
for fragments anymore
Thiago Santos [Tue, 6 May 2014 04:56:28 +0000 (01:56 -0300)]
dashdemux: removing old unused code
The 'catch up mode' isn't needed anymore since dashdemux
is downloading and pushing from the same thread
Thiago Santos [Mon, 5 May 2014 13:13:15 +0000 (10:13 -0300)]
dashdemux: remember to set starting fragment to new fragments
Thiago Santos [Fri, 2 May 2014 21:34:04 +0000 (18:34 -0300)]
dashdemux: handle a few more error cases
related to missing plugins, bad URI and a lockup on dealing with
errors from the source.
Thiago Santos [Fri, 2 May 2014 21:32:56 +0000 (18:32 -0300)]
dashdemux: Only set timestamp to the first buffer of fragments
Setting it to the other parts of the fragment is slightly wrong
and misleading as it isn't accurate enough.
Thiago Santos [Fri, 2 May 2014 21:30:05 +0000 (18:30 -0300)]
dashdemux: handle error messages from the sources
Set up a message handling function to be able to catch errors
from the source element and signal the cond to allow the download
loop to retry the download.
Thiago Santos [Fri, 2 May 2014 00:04:54 +0000 (21:04 -0300)]
dashdemux: check for errors between downloads
To abort earlier in case of failures
Thiago Santos [Fri, 2 May 2014 00:00:32 +0000 (21:00 -0300)]
dashdemux: Always accept the latency configure event
Upstream or internal elements are irrelevant and we should
always succeed.
Thiago Santos [Thu, 1 May 2014 15:04:51 +0000 (12:04 -0300)]
dashdemux: measure download rate just like hlsdemux
new bitrate = (old bitrate + (last fragment bitrate * 3)) / 4
Thiago Santos [Fri, 25 Apr 2014 11:50:18 +0000 (08:50 -0300)]
dashdemux: remove uridownloader from fragments download
Instead, use a source element linked to a ghostpad to provide
smaller buffers and more granular control for downstream
buffering elements while also reducing startup latency
Matthew Waters [Tue, 6 May 2014 23:11:25 +0000 (09:11 +1000)]
gl/sink: make sure we always initialize the upload object
https://bugzilla.gnome.org/show_bug.cgi?id=729542
Thiago Santos [Tue, 6 May 2014 22:24:55 +0000 (19:24 -0300)]
hlsdemux: fix internal source event leaks
Julien Isorce [Tue, 6 May 2014 10:59:24 +0000 (11:59 +0100)]
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.
Julien Isorce [Tue, 6 May 2014 10:51:31 +0000 (11:51 +0100)]
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.
Julien Isorce [Tue, 6 May 2014 10:27:47 +0000 (11:27 +0100)]
gl: no need to initialize a frame buffer object to upload an eglimage
Fix https://bugzilla.gnome.org/show_bug.cgi?id=729588
Julien Isorce [Tue, 6 May 2014 10:21:56 +0000 (11:21 +0100)]
gl: use GST_CAT_ERROR instead of GST_ERROR_OBJECT
It fixes segault when GST_DEBUG is at least level 1 and eglCreateImage fails
Julien Isorce [Tue, 6 May 2014 09:14:26 +0000 (10:14 +0100)]
gl: delete texture used with GstVideoGLTextureUploadMeta
Julien Isorce [Tue, 6 May 2014 13:23:34 +0000 (14:23 +0100)]
gl: use gst_gl_context_gen_shader helper instead of duplicating code
Luis de Bethencourt [Tue, 6 May 2014 13:55:05 +0000 (09:55 -0400)]
pnmenc: remove empty line
Remove trailing empty line from commit
bfdc54395238c04fc6e5b51880c2d706f33e9011
https://bugzilla.gnome.org/show_bug.cgi?id=729614
Jesper Larsen [Wed, 20 Nov 2013 11:16:17 +0000 (12:16 +0100)]
mpegtsmux: Remove unused data in TsMuxSection
https://bugzilla.gnome.org/show_bug.cgi?id=721685
Matthew Waters [Tue, 6 May 2014 11:17:59 +0000 (21:17 +1000)]
tests: reenable camerabin element test
Matthew Waters [Tue, 6 May 2014 06:39:06 +0000 (16:39 +1000)]
gl/display: clean up pre gstglcontext api and struct fields
https://bugzilla.gnome.org/show_bug.cgi?id=729551
Matthew Waters [Tue, 6 May 2014 07:27:15 +0000 (17:27 +1000)]
gl/display: add get_handle_type
https://bugzilla.gnome.org/show_bug.cgi?id=729551
Matthew Waters [Tue, 6 May 2014 07:08:18 +0000 (17:08 +1000)]
gl/display: avoid opening the X11 display on systems with Cocoa (OS X)
https://bugzilla.gnome.org/show_bug.cgi?id=729551
Matthew Waters [Tue, 6 May 2014 06:39:55 +0000 (16:39 +1000)]
gl/window: fix string length check for eagl
Matthew Waters [Tue, 6 May 2014 06:31:28 +0000 (16:31 +1000)]
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
Edward Hervey [Tue, 6 May 2014 10:56:25 +0000 (12:56 +0200)]
gl/cocoa: Use OBJCFLAGS where needed
Should fix usage of c-compiler-only flags with an objective-c compiler