platform/upstream/gstreamer.git
8 years agouninstalled.pc: add support for non libtool build systems
Julien Isorce [Thu, 18 Feb 2016 14:32:23 +0000 (14:32 +0000)]
uninstalled.pc: add support for non libtool build systems

Currently the .la path is provided which requires to use libtool as
mentioned in the GStreamer manual section-helloworld-compilerun.html.
It is fine as long as the application is built using libtool.

So currently it is not possible to compile a GStreamer application
within gst-uninstalled with CMake or other build system different
than autotools.

This patch allows to do the following in gst-uninstalled env:
gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0 \
    gstreamer-gl-1.0)
Previously it required to prepend libtool --mode=link

https://bugzilla.gnome.org/show_bug.cgi?id=720778

8 years agogldebug: make sure debug is initialized when calling gst_gl_insert_debug_marker
Julien Isorce [Thu, 18 Feb 2016 16:21:38 +0000 (16:21 +0000)]
gldebug: make sure debug is initialized when calling gst_gl_insert_debug_marker

Usually gl debug is initialized in gst_gl_context_create_thread.
But this function is not used when using the GstGLContextGPUProcess
from ChromiumGStreamerBackend.

Received signal 11 SEGV_MAPERR 000000000000
gst_debug_category_get_threshold
gst_gl_insert_debug_marker
gst_gl_base_filter_gl_start

8 years agogl: Fix compiler warning about unused const variable with gcc 6
Sebastian Dröge [Thu, 18 Feb 2016 08:33:20 +0000 (10:33 +0200)]
gl: Fix compiler warning about unused const variable with gcc 6

  CC       libgstgl_x11_la-gstglcontext_glx.lo
In file included from gstglcontext_glx.c:39:0:
../utils/opengl_versions.h:52:43: error: ‘gles2_versions’ defined but not used [-Werror=unused-const-variable]
 static const struct { int major, minor; } gles2_versions[] = {
                                           ^~~~~~~~~~~~~~

8 years agogl: Move private headers from SOURCES to noinst_HEADERS
Sebastian Dröge [Thu, 18 Feb 2016 08:29:21 +0000 (10:29 +0200)]
gl: Move private headers from SOURCES to noinst_HEADERS

8 years agomodplug: Fix compiler warning about C++11 compatibility
Sebastian Dröge [Wed, 17 Feb 2016 22:24:04 +0000 (00:24 +0200)]
modplug: Fix compiler warning about C++11 compatibility

gstmodplug.cc:94:17: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
 #define FORMATS "{ "GST_AUDIO_NE (S32)", "GST_AUDIO_NE (S16)", U8 }"
                 ^
gstmodplug.cc:94:39: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
 #define FORMATS "{ "GST_AUDIO_NE (S32)", "GST_AUDIO_NE (S16)", U8 }"
                                       ^

8 years agocurlbasesink: don't send empty buffers
David Fernandez [Tue, 16 Feb 2016 14:10:34 +0000 (15:10 +0100)]
curlbasesink: don't send empty buffers

Fixes problem in curlhttpsink when qtmux uses faststart.

https://bugzilla.gnome.org/show_bug.cgi?id=762013

8 years agoladspa: Fix some debugs
Thibault Saunier [Wed, 17 Feb 2016 10:16:53 +0000 (11:16 +0100)]
ladspa: Fix some debugs

8 years agouvch264_src: Fix caps memory leak
Vineeth TM [Tue, 26 Jan 2016 00:34:00 +0000 (09:34 +0900)]
uvch264_src: Fix caps memory leak

v4l_caps and new_caps are being allocated new memory before freeing the
old allocation.

https://bugzilla.gnome.org/show_bug.cgi?id=761108

8 years agompegtsbase: Refactor code to check for subclass seek handling
Vineeth TM [Thu, 24 Dec 2015 06:36:54 +0000 (15:36 +0900)]
mpegtsbase: Refactor code to check for subclass seek handling

If subclass is not able to handle seek event, then there is no need to
stop streaming and send flush events. We should simply return FALSE

https://bugzilla.gnome.org/show_bug.cgi?id=758516

8 years agompegtsbase: Add condition to check for non working negative rate
Vineeth TM [Thu, 24 Dec 2015 06:10:16 +0000 (15:10 +0900)]
mpegtsbase: Add condition to check for non working negative rate

tsdemux is not able to handle negative playback rates.
But in mpegtsbase, the same check is not being done.
added a check to not handle negative rate while seeking unless
the same is handled upstream.

https://bugzilla.gnome.org/show_bug.cgi?id=758516

8 years agoglfilter: insert the debug marker from the GL thread
Matthew Waters [Wed, 17 Feb 2016 02:00:46 +0000 (13:00 +1100)]
glfilter: insert the debug marker from the GL thread

https://bugzilla.gnome.org/show_bug.cgi?id=761538

8 years agoglimagesink: remove unsed reconfigure variable
Matthew Waters [Wed, 17 Feb 2016 00:42:23 +0000 (11:42 +1100)]
glimagesink: remove unsed reconfigure variable

8 years agoglimagesink: don't push a reconfigure event from the GL thread
Matthew Waters [Wed, 13 Jan 2016 02:17:56 +0000 (13:17 +1100)]
glimagesink: don't push a reconfigure event from the GL thread

Doing so may cause deadlocks when other elements attempt destroy or created
GL resources.

https://bugzilla.gnome.org/show_bug.cgi?id=760559

8 years agoglvideomixer: don't leak pad's vertex buffer on release_pad
Wang Xin-yu (王昕宇) [Thu, 21 Jan 2016 02:40:36 +0000 (10:40 +0800)]
glvideomixer: don't leak pad's vertex buffer on release_pad

https://bugzilla.gnome.org/show_bug.cgi?id=760873

8 years agoglmixer: Remove usage of GstGLMixerFrameData
Matthew Waters [Tue, 16 Feb 2016 14:08:18 +0000 (01:08 +1100)]
glmixer: Remove usage of GstGLMixerFrameData

Subclasses can just iterate over the list of pads themselves

https://bugzilla.gnome.org/show_bug.cgi?id=760873

8 years agoglmixer: don't hold the object lock while calling into GL
Matthew Waters [Wed, 13 Jan 2016 03:41:22 +0000 (14:41 +1100)]
glmixer: don't hold the object lock while calling into GL

Doing so can deadlock between the GL thread and the object lock e.g.
when performing reconfigure events in glimagesink on a resize event.

https://bugzilla.gnome.org/show_bug.cgi?id=760559

8 years agoUpdate common: make check-exports not fail for libgstgl.def
Tim-Philipp Müller [Tue, 16 Feb 2016 22:34:43 +0000 (22:34 +0000)]
Update common: make check-exports not fail for libgstgl.def

Should fix distcheck on some build bots.

8 years agoacmenc/acmmp3dec: remove unnecessary break after return
Vineeth TM [Tue, 26 Jan 2016 00:37:04 +0000 (09:37 +0900)]
acmenc/acmmp3dec: remove unnecessary break after return

https://bugzilla.gnome.org/show_bug.cgi?id=761109

8 years agoconfigure: improve check for wayland-scanner binary
Thiago Santos [Tue, 21 Jul 2015 21:02:38 +0000 (18:02 -0300)]
configure: improve check for wayland-scanner binary

The plugin doesn't need the wayland-scanner package to be built
or run, it only needs the wayland-scanner program during compile time.

When cross-compiling, build systems might not have the wayland-scanner
package for the target system as it is a developer's tool, while it should
still be possible to use wayland-scanner from the host system.

This patch fixes it by not requiring the wayland-scanner package but
just the binary itself.

Note that the check is done outside of the PKG_CHECK_MODULES
as it doesn't work inside of it.

https://bugzilla.gnome.org/show_bug.cgi?id=752688

8 years agoadaptivedemux: restore bitrate averaging support
Philippe Normand [Thu, 21 Jan 2016 10:53:33 +0000 (11:53 +0100)]
adaptivedemux: restore bitrate averaging support

This was accidentally removed in commit ccff3be3.
https://bugzilla.gnome.org/show_bug.cgi?id=733959

8 years agoadaptivedemux: remove queue2 overrun notification
Philippe Normand [Wed, 20 Jan 2016 14:33:28 +0000 (15:33 +0100)]
adaptivedemux: remove queue2 overrun notification

Due to performance impact concerns this is removed. An alternative
approach would be to rely on buffering messages monitoring.

https://bugzilla.gnome.org/show_bug.cgi?id=733959

8 years agovkdevice: add the necessary but arbitrary queue priority
Matthew Waters [Tue, 16 Feb 2016 05:18:21 +0000 (16:18 +1100)]
vkdevice: add the necessary but arbitrary queue priority

Silences an error in the validation layers.

8 years agovkswapper: add the necessary call to check if the physical device supports the surface
Matthew Waters [Tue, 16 Feb 2016 05:12:07 +0000 (16:12 +1100)]
vkswapper: add the necessary call to check if the physical device supports the surface

Silences an error in the validation layers.

8 years agovulkan: update to SDK 1.0.3.1
Matthew Waters [Tue, 16 Feb 2016 04:53:56 +0000 (15:53 +1100)]
vulkan: update to SDK 1.0.3.1

8 years agovulkan/build: search for the correct library
Matthew Waters [Tue, 16 Feb 2016 04:36:41 +0000 (15:36 +1100)]
vulkan/build: search for the correct library

SDK 1.0.1 used libvulkan-1.so, 1.0.2 uses libvulkan.so

8 years agovkswapper: iterate over the device queue's using the new iteration API
Matthew Waters [Tue, 16 Feb 2016 00:51:28 +0000 (11:51 +1100)]
vkswapper: iterate over the device queue's using the new iteration API

8 years agovkdevice: add callback iteration over the device queue's
Matthew Waters [Tue, 16 Feb 2016 00:49:24 +0000 (11:49 +1100)]
vkdevice: add callback iteration over the device queue's

8 years agovkqueue: add context helpers
Matthew Waters [Tue, 16 Feb 2016 00:22:37 +0000 (11:22 +1100)]
vkqueue: add context helpers

8 years agovkutils: move object-specific context queries to their respective files
Matthew Waters [Wed, 10 Feb 2016 14:31:14 +0000 (01:31 +1100)]
vkutils: move object-specific context queries to their respective files

vkutils now just contains some utility functions to further simplify retrieving
multiple objects.

8 years agovkdevice: remove unneeded error parameter from get_queue()
Matthew Waters [Wed, 10 Feb 2016 13:50:53 +0000 (00:50 +1100)]
vkdevice: remove unneeded error parameter from get_queue()

8 years agovkupload: implement an uploader abstraction
Matthew Waters [Wed, 10 Feb 2016 07:06:46 +0000 (18:06 +1100)]
vkupload: implement an uploader abstraction

8 years agovkdisplay: unref the instance
Matthew Waters [Wed, 10 Feb 2016 08:50:27 +0000 (19:50 +1100)]
vkdisplay: unref the instance

fixes memory leak

8 years agovulkan: chain up in finalize
Matthew Waters [Wed, 10 Feb 2016 08:34:55 +0000 (19:34 +1100)]
vulkan: chain up in finalize

They were missing in some cases

8 years agovksink: only unref if the pointers are non-NULL
Matthew Waters [Wed, 10 Feb 2016 07:58:32 +0000 (18:58 +1100)]
vksink: only unref if the pointers are non-NULL

8 years agovkimagememory: free the managing struct on _free
Matthew Waters [Wed, 10 Feb 2016 07:05:47 +0000 (18:05 +1100)]
vkimagememory: free the managing struct on _free

fixes a memory leak

8 years agovkdevice: perform a waitIdle before destroying the device
Matthew Waters [Tue, 9 Feb 2016 07:26:40 +0000 (18:26 +1100)]
vkdevice: perform a waitIdle before destroying the device

8 years agoRevert "vulkan: remove views from the memory objects."
Matthew Waters [Tue, 9 Feb 2016 06:46:53 +0000 (17:46 +1100)]
Revert "vulkan: remove views from the memory objects."

This reverts commit 1ea817298ee4d5ef9b00f888f8ebe16a888b1150.

8 years agovulkanmemory: remove bind variants
Matthew Waters [Tue, 9 Feb 2016 06:31:26 +0000 (17:31 +1100)]
vulkanmemory: remove bind variants

8 years agovulkan: remove views from the memory objects.
Matthew Waters [Tue, 9 Feb 2016 05:21:00 +0000 (16:21 +1100)]
vulkan: remove views from the memory objects.

They are not used and it's not possible to create the view before binding the
VkDeviceMemory object to them.

8 years agovkswapper: alpha flags are now supported by LunarG's driver
Matthew Waters [Tue, 9 Feb 2016 00:34:57 +0000 (11:34 +1100)]
vkswapper: alpha flags are now supported by LunarG's driver

8 years agovulkan: add a vulkanbuffer bufferpool
Matthew Waters [Mon, 8 Feb 2016 13:07:38 +0000 (00:07 +1100)]
vulkan: add a vulkanbuffer bufferpool

8 years agovulkan: add upload element
Matthew Waters [Mon, 8 Feb 2016 11:49:15 +0000 (22:49 +1100)]
vulkan: add upload element

8 years agovkutils: fix assert inversion
Matthew Waters [Mon, 8 Feb 2016 07:28:29 +0000 (18:28 +1100)]
vkutils: fix assert inversion

8 years agovulkan: add caps feature names for the buffer and image memories
Matthew Waters [Mon, 8 Feb 2016 07:27:16 +0000 (18:27 +1100)]
vulkan: add caps feature names for the buffer and image memories

8 years agovulkan: add device to handle_context_query
Matthew Waters [Mon, 8 Feb 2016 03:44:20 +0000 (14:44 +1100)]
vulkan: add device to handle_context_query

8 years agovulkan: move instance_open into the utility ensure_element_data
Matthew Waters [Mon, 8 Feb 2016 03:32:10 +0000 (14:32 +1100)]
vulkan: move instance_open into the utility ensure_element_data

So callers don't have to perform it themselves.

8 years agovkinstance: add signal for overriding device creation
Matthew Waters [Mon, 8 Feb 2016 03:25:49 +0000 (14:25 +1100)]
vkinstance: add signal for overriding device creation

8 years agovulkan: separate allocation and binding of memory
Matthew Waters [Mon, 8 Feb 2016 01:22:11 +0000 (12:22 +1100)]
vulkan: separate allocation and binding of memory

8 years agovkbuffermemory: follow the rest of the struct macros
Matthew Waters [Mon, 8 Feb 2016 01:14:44 +0000 (12:14 +1100)]
vkbuffermemory: follow the rest of the struct macros

8 years agovkswapper: use buffer memory to upload video frames to the GPU
Matthew Waters [Fri, 5 Feb 2016 08:31:49 +0000 (19:31 +1100)]
vkswapper: use buffer memory to upload video frames to the GPU

8 years agovulkan: add a buffer memory allocator
Matthew Waters [Fri, 5 Feb 2016 08:18:40 +0000 (19:18 +1100)]
vulkan: add a buffer memory allocator

Wraps the VkBuffer in a GstMemory subclass.

8 years agovkmemory: align struct members in the header
Matthew Waters [Fri, 5 Feb 2016 08:11:51 +0000 (19:11 +1100)]
vkmemory: align struct members in the header

8 years agovkmacros: use specific _INIT macros to initialize structures
Matthew Waters [Fri, 5 Feb 2016 08:10:43 +0000 (19:10 +1100)]
vkmacros: use specific _INIT macros to initialize structures

8 years agovkimagememory: add get_{width,height) functions
Matthew Waters [Fri, 5 Feb 2016 08:09:41 +0000 (19:09 +1100)]
vkimagememory: add get_{width,height) functions

8 years agovulkan: update to release 1.0.1.1
Matthew Waters [Wed, 27 Jan 2016 04:20:49 +0000 (15:20 +1100)]
vulkan: update to release 1.0.1.1

8 years agovulkan/xcb: flush after mapping the window
Matthew Waters [Fri, 22 Jan 2016 03:34:06 +0000 (14:34 +1100)]
vulkan/xcb: flush after mapping the window

Otherwise the map may not reach the server and not appear.

8 years agovkswapper: fix semaphore usage
Matthew Waters [Mon, 4 Jan 2016 05:51:26 +0000 (16:51 +1100)]
vkswapper: fix semaphore usage

8 years agovulkan: add some debugging about the supported extensions
Matthew Waters [Thu, 31 Dec 2015 05:34:24 +0000 (16:34 +1100)]
vulkan: add some debugging about the supported extensions

8 years agovkswapper: get the function pointers from the correct object
Matthew Waters [Thu, 31 Dec 2015 04:58:37 +0000 (15:58 +1100)]
vkswapper: get the function pointers from the correct object

GetPhysicalDevice* functions are instance functions rather than device
functions.

8 years agovkinstance: add the necessary winsys extension
Matthew Waters [Thu, 31 Dec 2015 04:38:37 +0000 (15:38 +1100)]
vkinstance: add the necessary winsys extension

8 years agovkdisplay: forward declare GstVulkanDisplayType
Matthew Waters [Thu, 31 Dec 2015 04:34:45 +0000 (15:34 +1100)]
vkdisplay: forward declare GstVulkanDisplayType

8 years agovkapi: remove unneeded headers
Matthew Waters [Thu, 31 Dec 2015 04:32:15 +0000 (15:32 +1100)]
vkapi: remove unneeded headers

vkapi is for accessing the vulkan headers with the correct defines applied so
doesn't need any interal headers.

8 years agovkimagememory: fix the memory barrier access masks
Matthew Waters [Wed, 30 Dec 2015 04:15:40 +0000 (15:15 +1100)]
vkimagememory: fix the memory barrier access masks

silences the following warnings from the validation layer

AccessMask xxx must have required access bit xxx and may have optional bits 0
when layout is VK_IMAGE_LAYOUT_TRANSFER_{SRC,DST}_OPTIMAL

8 years agovkswapper: only wait on the semaphore once
Matthew Waters [Wed, 30 Dec 2015 04:14:23 +0000 (15:14 +1100)]
vkswapper: only wait on the semaphore once

It's invalid usage and we may deadlock

8 years agovkimagememory: initialize flags and don't crash on errors
Matthew Waters [Wed, 30 Dec 2015 14:27:54 +0000 (01:27 +1100)]
vkimagememory: initialize flags and don't crash on errors

8 years agovulkan: update error db for 0.10.2
Matthew Waters [Wed, 30 Dec 2015 03:06:01 +0000 (14:06 +1100)]
vulkan: update error db for 0.10.2

8 years agovulkan: update to SDK 0.10.2
Matthew Waters [Tue, 29 Dec 2015 05:05:17 +0000 (16:05 +1100)]
vulkan: update to SDK 0.10.2

8 years agovulkan: implement GstContext helpers
Matthew Waters [Mon, 7 Dec 2015 06:33:43 +0000 (17:33 +1100)]
vulkan: implement GstContext helpers

Based off libgstgl's implementation

8 years agovkdevice: remove gst_vulkan_device_close()
Matthew Waters [Mon, 7 Dec 2015 06:21:12 +0000 (17:21 +1100)]
vkdevice: remove gst_vulkan_device_close()

When sharing the device between multiple elements/application, we need
to use th erefcount to know when to close the device.

8 years agovkinstance: remove gst_vulkan_instance_close
Matthew Waters [Mon, 7 Dec 2015 06:00:37 +0000 (17:00 +1100)]
vkinstance: remove gst_vulkan_instance_close

Sharing the instance across multiple elements/application will require
using the refcount instead to know when to close and destroy the instance.

8 years agovkswapper: remove outdated comment
Matthew Waters [Mon, 7 Dec 2015 05:46:28 +0000 (16:46 +1100)]
vkswapper: remove outdated comment

8 years agovkswapper: always match lock/unlock of the render lock
Matthew Waters [Mon, 7 Dec 2015 05:39:53 +0000 (16:39 +1100)]
vkswapper: always match lock/unlock of the render lock

If a draw event comes from the winsys before we've rendered a buffer we were
deadlocking.

8 years agovkmemory: debug output the memory properties requested
Matthew Waters [Wed, 2 Dec 2015 06:54:30 +0000 (17:54 +1100)]
vkmemory: debug output the memory properties requested

8 years agovkimagememory: don't leak GstMapInfo in failure cases on _map()
Matthew Waters [Wed, 2 Dec 2015 06:14:49 +0000 (17:14 +1100)]
vkimagememory: don't leak GstMapInfo in failure cases on _map()

8 years agovulkan: de-C99 struct declarations
Matthew Waters [Wed, 2 Dec 2015 06:10:39 +0000 (17:10 +1100)]
vulkan: de-C99 struct declarations

8 years agovkwindow/swapper: implement redraw handling
Matthew Waters [Tue, 1 Dec 2015 07:37:34 +0000 (18:37 +1100)]
vkwindow/swapper: implement redraw handling

only xcb has been implemented

8 years agovulkan: implement quitting and resizing the window
Matthew Waters [Tue, 1 Dec 2015 05:28:28 +0000 (16:28 +1100)]
vulkan: implement quitting and resizing the window

As before, only xcb has been implemented.

8 years agonew vulkan based video sink
Matthew Waters [Sat, 24 Oct 2015 06:29:05 +0000 (17:29 +1100)]
new vulkan based video sink

Currently xcb is the only winsys that is implemented and there's no redraws et
al

8 years agotests: remove test files no longer needed
Tim-Philipp Müller [Tue, 16 Feb 2016 12:38:21 +0000 (12:38 +0000)]
tests: remove test files no longer needed

8 years agompg123: move plugin from -bad to -ugly
Tim-Philipp Müller [Tue, 16 Feb 2016 10:44:33 +0000 (10:44 +0000)]
mpg123: move plugin from -bad to -ugly

https://bugzilla.gnome.org/show_bug.cgi?id=719849

8 years agogtk(gl)sink: remove the signal handlers on finalize
Matthew Waters [Tue, 16 Feb 2016 08:59:13 +0000 (19:59 +1100)]
gtk(gl)sink: remove the signal handlers on finalize

It's possible that the sink element will be freed before the widget is
destroyed.  When the widget was eventually destroyed, it was attempting to
access member variables of the freed sink struct which resulted in undefined
behaviour.

Fix by disconnecting our signal on finalize.

https://bugzilla.gnome.org/show_bug.cgi?id=762098

8 years agogl: Remove leftover g_prints
Sebastian Dröge [Tue, 16 Feb 2016 06:48:23 +0000 (08:48 +0200)]
gl: Remove leftover g_prints

One was commented out, but we also don't use // comments :)

8 years agogldebug: use the correct spelling for behavior
Matthew Waters [Tue, 16 Feb 2016 03:41:37 +0000 (14:41 +1100)]
gldebug: use the correct spelling for behavior

The headers use the american spelling of behavior not the UK/AUS version with
the extra U.

8 years agoglcontext: don't enable GL debug for messages that won't be logged
Matthew Waters [Tue, 16 Feb 2016 02:58:42 +0000 (13:58 +1100)]
glcontext: don't enable GL debug for messages that won't be logged

This is an optimization to avoid pointless string processing.

8 years agoglvideoflip: don't ignore method changes when caps aren't set (yet)
Alessandro Decina [Tue, 16 Feb 2016 02:01:20 +0000 (13:01 +1100)]
glvideoflip: don't ignore method changes when caps aren't set (yet)

8 years agortp: move RTP H.265 payloader/depayloader to -good
Tim-Philipp Müller [Tue, 16 Feb 2016 00:33:50 +0000 (00:33 +0000)]
rtp: move RTP H.265 payloader/depayloader to -good

https://bugzilla.gnome.org/show_bug.cgi?id=761606

8 years agonetsim: Add netsim element
Stian Selnes [Wed, 7 Oct 2015 21:49:58 +0000 (23:49 +0200)]
netsim: Add netsim element

Resurrected from the Farstream repository and given an
overhaul to fix races, deadlocks etc.

https://bugzilla.gnome.org/show_bug.cgi?id=756252

8 years agodashdemux: gst_dash_demux_get_live_seek_range returns positive values
Florin Apostol [Fri, 20 Nov 2015 19:38:03 +0000 (19:38 +0000)]
dashdemux: gst_dash_demux_get_live_seek_range returns positive values

https://bugzilla.gnome.org/show_bug.cgi?id=752374

8 years agogl: syncmeta: define GL_TIMEOUT_IGNORED in more portable way
Tim-Philipp Müller [Wed, 10 Feb 2016 10:31:19 +0000 (10:31 +0000)]
gl: syncmeta: define GL_TIMEOUT_IGNORED in more portable way

8 years agogstglshader: cache uniform locations
Alessandro Decina [Wed, 10 Feb 2016 05:37:22 +0000 (16:37 +1100)]
gstglshader: cache uniform locations

Avoid redundant calls to glGetUniformLocation. The results can be cached once
the shader has been linked.

8 years agoapplemedia: videotesturecache: let CVOpenGLESTextureCache flush every 1s
Alessandro Decina [Wed, 10 Feb 2016 04:40:02 +0000 (15:40 +1100)]
applemedia: videotesturecache: let CVOpenGLESTextureCache flush every 1s

Leave kCVOpenGLESTextureCacheMaximumTextureAgeKey to the default (1s). We used
to set it to 0 and flush manually, but apparently (looking at the GLES profiler)
0 means "disable the cache entirely".

8 years agogstglcontext: micro optimization to gst_gl_context_thread_add
Alessandro Decina [Wed, 10 Feb 2016 02:08:43 +0000 (13:08 +1100)]
gstglcontext: micro optimization to gst_gl_context_thread_add

Invoke the callback right away when called on the context thread. Removes
overhead when nesting libgstgl calls (for example when working with the sync
meta).

8 years agortpmsink: Implement setcaps that uses streamheader
Julien MOUTTE [Wed, 6 Jan 2016 21:39:00 +0000 (21:39 +0000)]
rtpmsink: Implement setcaps that uses streamheader

This allow adding rtmpsink after the flv streaming have started. Otherwise,
FLV streamheader is never sent to the server, which cannot figure-out
what is this stream about. It should also help in certain renegotiation
figures. The sink will no longer work without an streamheader in caps,
though there is no known implementation of flvdemux that does not
support this.

https://bugzilla.gnome.org/show_bug.cgi?id=760242

8 years agomssdemux: remove unnecessary check
Luis de Bethencourt [Tue, 9 Feb 2016 21:35:19 +0000 (21:35 +0000)]
mssdemux: remove unnecessary check

stream->current_fragment has the value of g_list_previous (iter) which has
just been checked. No need to check it again.

Just to be safe, use a g_assert() to check fragment before dereferencing.

CID #1352041

8 years agodashdemux: plug mpd client leak
Thiago Santos [Tue, 9 Feb 2016 20:24:50 +0000 (17:24 -0300)]
dashdemux: plug mpd client leak

On parsing error, free the mpd client object

https://bugzilla.gnome.org/show_bug.cgi?id=760120

8 years agodashdemux: fix memory leak in gst_dash_demux_update_manifest_data
Florin Apostol [Mon, 4 Jan 2016 12:12:45 +0000 (12:12 +0000)]
dashdemux: fix memory leak in gst_dash_demux_update_manifest_data

new_client local variable was not freed in case of errors.
Also, the buffer is not unmapped.

https://bugzilla.gnome.org/show_bug.cgi?id=760120

8 years agompdparser: renamed gst_mpd_client_get_next_segment_availability_end_time to gst_mpd_c...
Florin Apostol [Tue, 10 Nov 2015 22:01:38 +0000 (22:01 +0000)]
mpdparser: renamed gst_mpd_client_get_next_segment_availability_end_time to gst_mpd_client_get_next_segment_availability_start_time

The function actually returns the segment availability start time (as defined by the standard).
That is at the end of the segment, but it is called availability start time.

Availability end time is something else (the time when the segment is no longer
available on the server). The function name was misleading.

https://bugzilla.gnome.org/show_bug.cgi?id=757655

8 years agompdparser: corrected getting segment availability
Florin Apostol [Tue, 10 Nov 2015 22:00:58 +0000 (22:00 +0000)]
mpdparser: corrected getting segment availability

https://bugzilla.gnome.org/show_bug.cgi?id=757655

8 years agompdparser: tests: added unit test for getting segment availability when segment timel...
Florin Apostol [Thu, 19 Nov 2015 15:30:34 +0000 (15:30 +0000)]
mpdparser: tests: added unit test for getting segment availability when segment timeline is used

https://bugzilla.gnome.org/show_bug.cgi?id=757655

8 years agoadaptive_demux: tests: improved validation of pads
Florin Apostol [Thu, 7 Jan 2016 12:50:06 +0000 (12:50 +0000)]
adaptive_demux: tests: improved validation of pads

When removing a pad, the on_demuxPadRemoved function must find a stream
for that pad.

https://bugzilla.gnome.org/show_bug.cgi?id=760328