platform/upstream/gstreamer.git
6 years agoMerge the tizen patch based on 1.12.2 26/158526/2
Eunhae Choi [Wed, 1 Nov 2017 12:22:50 +0000 (21:22 +0900)]
Merge the tizen patch based on 1.12.2

Change-Id: I726dcc9cd0c177974dacef2a4243362b9951dd6f

6 years agoapply ASLR to excutable 51/143251/1 accepted/tizen/4.0/unified/20170828.222559 accepted/tizen/unified/20170816.155927 submit/tizen/20170811.040253 submit/tizen_4.0/20170828.100005 tizen_4.0.IoT.p1_release tizen_4.0.m2_release
Eunhae Choi [Wed, 9 Aug 2017 07:33:10 +0000 (16:33 +0900)]
apply ASLR to excutable

Change-Id: If1654989a6b634f42c297c2ccaf810a0db0f1cf6

6 years agoDo not use GST_SCHEDULING_FLAG_SEEKABLE in TV Profile 46/142646/2
Sangjin, Sim [Mon, 7 Aug 2017 02:26:12 +0000 (11:26 +0900)]
Do not use GST_SCHEDULING_FLAG_SEEKABLE in TV Profile

Signed-off-by: Sangjin, Sim <sangjin0924.sim@samsung.com>
Change-Id: Ib94fb444048f83567e30f73be6104efb31b031a8

6 years agoreplace name format to fix an issue that core dump can't be created well in usb 96/142496/1
Younghwan [Fri, 4 Aug 2017 05:55:23 +0000 (14:55 +0900)]
replace name format to fix an issue that core dump can't be created well in usb
because colon is not supported in vfat

Change-Id: I878463aaf88e969a43c000f81120b55c973cbd5d

6 years agoRelease 1.12.2 1.12.2
Sebastian Dröge [Fri, 14 Jul 2017 11:01:13 +0000 (14:01 +0300)]
Release 1.12.2

6 years agoUpdate .po files
Sebastian Dröge [Fri, 14 Jul 2017 10:19:58 +0000 (13:19 +0300)]
Update .po files

6 years agobasesink: fix buffer leaks if preroll failed
Jason Lin [Thu, 13 Jul 2017 13:52:34 +0000 (21:52 +0800)]
basesink: fix buffer leaks if preroll failed

buffer is not unreferened if preroll failed

:Detailed Notes:
- Problem : video freeze when switching from pause to 1/2-FF repeatedly
- RootCause : buffer leaks in basesink
- Solution : unref the buffer if prerolled failed

:Testing Preformed:
How to Test :
pause -> 1/2 FF -> resume -> pause -> 1/2 FF ...

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

6 years agoAdd FEATURE for tv profile 98/137098/1 accepted/tizen/4.0/unified/20170816.011153 accepted/tizen/4.0/unified/20170816.014616 accepted/tizen/unified/20170710.154313 submit/tizen/20170707.065345 submit/tizen_4.0/20170811.094300 submit/tizen_4.0/20170814.115522 submit/tizen_4.0_unified/20170814.115522
Sangjin, Sim [Tue, 4 Jul 2017 10:21:25 +0000 (19:21 +0900)]
Add FEATURE for tv profile

Signed-off-by: Sangjin, Sim <sangjin0924.sim@samsung.com>
Change-Id: I1615b034f3d1ff393b8289fafb92fcc929d91405

6 years agomeson: check for ppoll() as well
Tim-Philipp Müller [Thu, 29 Jun 2017 08:10:04 +0000 (09:10 +0100)]
meson: check for ppoll() as well

6 years agomeson: Add configinc as include_directory in tools/
Thibault Saunier [Tue, 27 Jun 2017 13:59:52 +0000 (09:59 -0400)]
meson: Add configinc as include_directory in tools/

Otherwise when the glib is used as a subproject config.h is the glib
one, not ours.

6 years agomeson: fix with-package-name option
Tim-Philipp Müller [Fri, 23 Jun 2017 10:11:44 +0000 (11:11 +0100)]
meson: fix with-package-name option

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

6 years agobaseparse: sinkcaps can be NULL in default caps negotiation
Nicolas Dufresne [Wed, 21 Jun 2017 14:48:52 +0000 (10:48 -0400)]
baseparse: sinkcaps can be NULL in default caps negotiation

This was causing harmless assertion about the unreffed caps not being of
type caps.

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

6 years agoRelease 1.12.1 1.12.1
Sebastian Dröge [Tue, 20 Jun 2017 09:04:50 +0000 (12:04 +0300)]
Release 1.12.1

6 years agoUpdate .po files
Sebastian Dröge [Tue, 20 Jun 2017 08:11:23 +0000 (11:11 +0300)]
Update .po files

6 years agopo: Update translations
Sebastian Dröge [Tue, 20 Jun 2017 08:06:16 +0000 (11:06 +0300)]
po: Update translations

6 years agoUpdate .po files
Sebastian Dröge [Tue, 20 Jun 2017 08:04:33 +0000 (11:04 +0300)]
Update .po files

6 years agoutils: Fix leak in failed case of regression overflow checking
Heekyoung Seo [Tue, 20 Jun 2017 06:57:47 +0000 (15:57 +0900)]
utils: Fix leak in failed case of regression overflow checking

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

6 years agoregistrychunk: Fix leak in failed case of reading plugin dependency string
Heekyoung Seo [Tue, 20 Jun 2017 07:10:07 +0000 (16:10 +0900)]
registrychunk: Fix leak in failed case of reading plugin dependency string

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

6 years agocontroller: Export boxed type copy/free functions for GstControlPoint
Sebastian Dröge [Tue, 20 Jun 2017 07:00:16 +0000 (10:00 +0300)]
controller: Export boxed type copy/free functions for GstControlPoint

6 years agobase: Export boxed type copy/free functions for the remaining types
Sebastian Dröge [Tue, 20 Jun 2017 06:57:01 +0000 (09:57 +0300)]
base: Export boxed type copy/free functions for the remaining types

6 years agoptp: Unref timeout GSource for delay requests
Andrejs Vasiljevs [Fri, 16 Jun 2017 13:34:00 +0000 (13:34 +0000)]
ptp: Unref timeout GSource for delay requests

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

6 years agogsturi: Fixed incorrect escaping of path as a generic string
Sebastian Dröge [Thu, 15 Jun 2017 08:40:51 +0000 (11:40 +0300)]
gsturi: Fixed incorrect escaping of path as a generic string

The gst_uri_construct function was escaping the location string
as a generic uri string. This is incorrect since the slash('/')
characters are reserved for use in this exact case. The patch
changes the escape_string function mode to handle the path correctly.

In 1.14 this function will be deprecated.

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

6 years agobasesrc: Hold object lock while updating latency
Olivier Crête [Mon, 22 May 2017 22:51:12 +0000 (00:51 +0200)]
basesrc: Hold object lock while updating latency

Otherwise in gst_base_src_query_latency(), it ended up
sometimes thinking it wasn't -1 when it was actually.

6 years agoobject: Add missing annotations to get_value_array() / get_value_g_array()
Sebastian Dröge [Mon, 22 May 2017 09:01:41 +0000 (12:01 +0300)]
object: Add missing annotations to get_value_array() / get_value_g_array()

Same as already used in GstControlBinding.

6 years agoparse: Make gst_parse_context_copy() public for bindings
Sebastian Dröge [Sat, 20 May 2017 16:42:51 +0000 (19:42 +0300)]
parse: Make gst_parse_context_copy() public for bindings

6 years agodebugutils: add missing E character to the legend
Matthew Waters [Fri, 19 May 2017 17:22:27 +0000 (19:22 +0200)]
debugutils: add missing E character to the legend

The E character on pads indicates the presence of the EOS flag.

6 years agotools: dist new gst-stats man page
Tim-Philipp Müller [Sat, 20 May 2017 15:44:14 +0000 (16:44 +0100)]
tools: dist new gst-stats man page

Fixes meson build from tarball.

6 years agomeson: fix gstprintf test linking
Tim-Philipp Müller [Mon, 15 May 2017 23:02:11 +0000 (00:02 +0100)]
meson: fix gstprintf test linking

Must link against gstprint helper lib to use private symbol.

6 years agomeson: add options to set package name and origin
Tim-Philipp Müller [Sat, 13 May 2017 17:30:27 +0000 (18:30 +0100)]
meson: add options to set package name and origin

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

7 years agoRelease 1.12.0 1.12.0
Sebastian Dröge [Thu, 4 May 2017 12:36:55 +0000 (15:36 +0300)]
Release 1.12.0

7 years agoUpdate .po files
Sebastian Dröge [Thu, 4 May 2017 12:00:16 +0000 (15:00 +0300)]
Update .po files

7 years agomessage: Don't pass a NULL debug string to g_utf8_validate()
Sebastian Dröge [Tue, 2 May 2017 11:35:50 +0000 (14:35 +0300)]
message: Don't pass a NULL debug string to g_utf8_validate()

g_utf8_validate() crashes on NULL, but NULL is valid for the debug
string nonetheless.

7 years agoadapter: Check if meta transform_func is NULL before using it
Sebastian Dröge [Tue, 2 May 2017 11:27:14 +0000 (14:27 +0300)]
adapter: Check if meta transform_func is NULL before using it

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

7 years agobasetransform: Check if meta transform_func is NULL before using it
Frédéric Dalleau [Tue, 2 May 2017 08:32:54 +0000 (10:32 +0200)]
basetransform: Check if meta transform_func is NULL before using it

An untested pointer segfaulted in webkit while playing video
on imx6 sabrelite. It turned out that the imx plugin didn't
implement the meta transform function.

The following GST_DEBUG trace was visible:
gstbasetransform.c:1779:foreach_metadata:<conv2> copy metadata
                                                GstImxVpuBufferMetaAPI

Thread 26 vqueue:src received signal SIGSEGV, Segmentation fault.

(gdb) bt
 0x00000000 in ?? ()
 0x73f8d7d8 in foreach_metadata (inbuf=0xc9b020, meta=0x474b2490,
                  user_data=<optimized out>) at gstbasetransform.c:1781
 0x73eb3ea8 in gst_buffer_foreach_meta (buffer=buffer@entry=0xc9b020,
                  func=0x73f8d705 <foreach_metadata>,
                  user_data=user_data@entry=0x474b24d4)
                  at gstbuffer.c:2234

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

7 years agogst: check non-null before dereference
Víctor Manuel Jáquez Leal [Fri, 28 Apr 2017 17:43:49 +0000 (19:43 +0200)]
gst: check non-null before dereference

It is possible to use gst_deinit() without registering the base
classes. For example, when using gst_init_get_option_group() and
call the program with an invalid parameter. In that case,
gst_deinit() will lead to a segmentation fault, since there is a
dereference to a pointer that is null.

This patch validates if the type is non-null before dereferencing
it.

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

7 years agogst-uninstalled: add opencv to bad libs
Nicola Murino [Fri, 28 Apr 2017 09:57:41 +0000 (11:57 +0200)]
gst-uninstalled: add opencv to bad libs

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

7 years agoRelease 1.11.91
Sebastian Dröge [Thu, 27 Apr 2017 14:24:05 +0000 (17:24 +0300)]
Release 1.11.91

7 years agoUpdate .po files
Sebastian Dröge [Thu, 27 Apr 2017 12:48:33 +0000 (15:48 +0300)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Thu, 27 Apr 2017 12:21:26 +0000 (15:21 +0300)]
po: Update translations

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 24 Apr 2017 19:27:33 +0000 (20:27 +0100)]
Automatic update of common submodule

From 60aeef6 to 48a5d85

7 years agoMeson: also build and install gst-stats-1.0 and it's man page.
Koop Mast [Fri, 21 Apr 2017 13:04:32 +0000 (15:04 +0200)]
Meson: also build and install gst-stats-1.0 and it's man page.

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

7 years agoAdd very simple man page for gst-stats.
Koop Mast [Fri, 21 Apr 2017 13:03:18 +0000 (15:03 +0200)]
Add very simple man page for gst-stats.

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

7 years agodoc: Fix some doctsing making GI happy
Thibault Saunier [Fri, 21 Apr 2017 13:51:59 +0000 (10:51 -0300)]
doc: Fix some doctsing making GI happy

7 years agodoc: Fix GstChangeState docstring
Thibault Saunier [Thu, 6 Apr 2017 20:51:29 +0000 (17:51 -0300)]
doc: Fix GstChangeState docstring

7 years agoinfo: Move debug output in for_each_threshold_by_entry() to TRACE level
Sebastian Dröge [Wed, 19 Apr 2017 16:31:38 +0000 (17:31 +0100)]
info: Move debug output in for_each_threshold_by_entry() to TRACE level

It's otherwise appearing many, many times in logs and usually is nothing
you're interested in.

7 years agotests: fix message leak in seek test
Vincent Penquerc'h [Fri, 31 Mar 2017 11:22:00 +0000 (12:22 +0100)]
tests: fix message leak in seek test

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

7 years agobasetransform: fix typo in debug log output
Yasushi SHOJI [Wed, 29 Mar 2017 10:26:53 +0000 (19:26 +0900)]
basetransform: fix typo in debug log output

This unbalanced closing parenthesis is leftover from the commit
8b739d91e7. It used to wrap the caps but we don't seem to do that in
the current code.

So, just remove it. No functionality has been changed.

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

7 years agomeson: A couple for GIR-generation fixes
Rico Tzschichholz [Mon, 10 Apr 2017 14:28:57 +0000 (16:28 +0200)]
meson: A couple for GIR-generation fixes

7 years agomeson: Add controller enum file as generated sources
Thibault Saunier [Wed, 12 Apr 2017 12:48:53 +0000 (09:48 -0300)]
meson: Add controller enum file as generated sources

Avoiding build failure like
https://ci.appveyor.com/project/thiblahute/gst-build-ge9m5/build/1.0.2857

7 years agomeson: dist new meson build script
Tim-Philipp Müller [Tue, 11 Apr 2017 19:19:03 +0000 (20:19 +0100)]
meson: dist new meson build script

7 years agocontroller: include new proxycontrolbinding header
Tim-Philipp Müller [Tue, 11 Apr 2017 19:16:53 +0000 (20:16 +0100)]
controller: include new proxycontrolbinding header

And fix includes in docs to just include the main header (the
include for the proxycontrolbinding was wrong in the docs).

7 years ago.gitignore: ignore more
Tim-Philipp Müller [Tue, 11 Apr 2017 19:16:41 +0000 (20:16 +0100)]
.gitignore: ignore more

7 years agomeson: Only check the first parameter
Olivier Crete [Tue, 11 Apr 2017 15:52:20 +0000 (11:52 -0400)]
meson: Only check the first parameter

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

7 years agomeson: Check bison and flex are recent enough
Thibault Saunier [Tue, 11 Apr 2017 13:17:40 +0000 (10:17 -0300)]
meson: Check bison and flex are recent enough

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

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 10 Apr 2017 22:48:53 +0000 (23:48 +0100)]
Automatic update of common submodule

From 39ac2f5 to 60aeef6

7 years agovalue: Accept NULL as a structure
Olivier Crête [Mon, 10 Apr 2017 16:24:06 +0000 (12:24 -0400)]
value: Accept NULL as a structure

Some GstStructure properties default to NULL, so it should
be a supported value.

With unit test.

7 years agocontroller: Fix build with srcdir!=builddir
Sebastian Dröge [Mon, 10 Apr 2017 11:26:42 +0000 (14:26 +0300)]
controller: Fix build with srcdir!=builddir

7 years agocontroller: Add missing sources/headers to the GIR build
Rico Tzschichholz [Mon, 10 Apr 2017 10:52:17 +0000 (13:52 +0300)]
controller: Add missing sources/headers to the GIR build

7 years agomeson: And actually make the controller mkenums rules work
Sebastian Dröge [Sun, 9 Apr 2017 09:16:39 +0000 (12:16 +0300)]
meson: And actually make the controller mkenums rules work

7 years agomeson: Add check for glib-mkenums
Sebastian Dröge [Sun, 9 Apr 2017 09:09:33 +0000 (12:09 +0300)]
meson: Add check for glib-mkenums

7 years agocontroller: Generate GLib enums automatically
Sebastian Dröge [Sun, 9 Apr 2017 09:02:43 +0000 (12:02 +0300)]
controller: Generate GLib enums automatically

7 years agoDon't use deprecated g_object_newv()
Tim-Philipp Müller [Tue, 4 Apr 2017 16:53:39 +0000 (17:53 +0100)]
Don't use deprecated g_object_newv()

Use g_object_new() instead which nowadays has a shortcut for the
no-properties check. It still does an extra GType check in the
function guard, but there's a pending patch to remove that
and it's hardly going to be a performance issue in practice,
even less so on a system that's compiled without run-time checks.

Alternative would be to move to the new g_object_new_properties()
with a fallback define for older glib versions, but it makes the
code look more unwieldy and doesn't seem worth it.

Fixes deprecation warnings when building against newer GLib versions.

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

7 years agotest: Add test for serializing/deserializing NULL strings
Olivier Crête [Fri, 7 Apr 2017 17:49:29 +0000 (13:49 -0400)]
test: Add test for serializing/deserializing NULL strings

7 years agoRelease 1.11.90
Sebastian Dröge [Fri, 7 Apr 2017 13:30:35 +0000 (16:30 +0300)]
Release 1.11.90

7 years agoUpdate .po files
Sebastian Dröge [Fri, 7 Apr 2017 12:04:11 +0000 (15:04 +0300)]
Update .po files

7 years agostructure: Don't print warning on NULL strings or pointers
Olivier Crête [Wed, 8 Mar 2017 17:09:45 +0000 (12:09 -0500)]
structure: Don't print warning on NULL strings or pointers

Putting NULL for those is a valid serialization for the NULL value.

7 years agogst: Use GstClockTimeDiff instead of GstClockTime as type for GST_SECOND and friends
Sebastian Dröge [Wed, 5 Apr 2017 13:32:38 +0000 (16:32 +0300)]
gst: Use GstClockTimeDiff instead of GstClockTime as type for GST_SECOND and friends

They were (signed!) gint64 before because of G_GINT64_CONSTANT() already
and they are actually used in signed calculations.

With this change we at least ensure that an integer type of the correct
size is used for GI (it was using gint before).

7 years agogst: Update some more types and values of combined-flags constants
Sebastian Dröge [Wed, 5 Apr 2017 12:46:26 +0000 (15:46 +0300)]
gst: Update some more types and values of combined-flags constants

7 years agogst: Cast combined-flags constants to their respective target types
Sebastian Dröge [Wed, 5 Apr 2017 11:45:00 +0000 (14:45 +0300)]
gst: Cast combined-flags constants to their respective target types

This makes C++ compilers a bit more happy without having the user of the
constants cast. It also provides the correct type information to GI.

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

7 years agogst: Set values and types for combined-flags constants in GI annotations
Sebastian Dröge [Wed, 5 Apr 2017 11:42:16 +0000 (14:42 +0300)]
gst: Set values and types for combined-flags constants in GI annotations

7 years agovalue: Properly set value and type for GST_FLAG_SET_MASK_EXACT in GI annotations
Sebastian Dröge [Wed, 5 Apr 2017 11:26:33 +0000 (14:26 +0300)]
value: Properly set value and type for GST_FLAG_SET_MASK_EXACT in GI annotations

Storing a -1 inside an unsigned integer confuses GIR based bindings
generators.

7 years agocompletion: Try to avoid parsing summary
Nicolas Dufresne [Tue, 4 Apr 2017 20:28:45 +0000 (16:28 -0400)]
completion: Try to avoid parsing summary

In GES, the summary refers to options that are only available when built
against gst-valdiate. Those where picked by our regex. This patch add a
initial grep to try and filter-out as best as possible the content to
which we will extract the command list.

7 years agomeson: Add bash completion support
Nicolas Dufresne [Tue, 4 Apr 2017 18:25:52 +0000 (14:25 -0400)]
meson: Add bash completion support

7 years agocompletion: Place the completion helper in libexec
Nicolas Dufresne [Tue, 4 Apr 2017 17:42:50 +0000 (13:42 -0400)]
completion: Place the completion helper in libexec

This patch reorganize the bash completion scripts in order to install
the binary helper (gst-completion-helper) in libexec path rather then
share folder. Most Linux hierarchy compliance requires that no binary
executable are placed in share. We also cleanup the unused .pc entries
and remove copy pasted parts of the script. Note that other project
including the common helper, should now use $_GST_HELPER to read
the binary executable gst-completion-helper. This helper is not longer
version, as it is placed in a versionned subfolder
(libexec/gstreamer.10) just like the other helpers (scanner and ptp).

7 years agogstvalue: fix GstValue leak in structure_field_union_into
Vincent Penquerc'h [Fri, 31 Mar 2017 10:22:49 +0000 (11:22 +0100)]
gstvalue: fix GstValue leak in structure_field_union_into

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

7 years agostreamcollection: fix racy user-after-free
Vincent Penquerc'h [Fri, 31 Mar 2017 09:38:15 +0000 (10:38 +0100)]
streamcollection: fix racy user-after-free

The issue happens when the structure is printed by the logging
subsystem: the object is included in the log, and this will cause the
full object printout to be done there. However, after dispose, the queue
was already cleared, so the access to it (to print the object) would
assert, as the queue was already freed. The patch changes it so that the
queue is merely empty, and only freed in _finalize.

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

7 years agospec: add license file at util pkg 27/121527/1 accepted/tizen_common accepted/tizen_ivi accepted/tizen_mobile accepted/tizen_tv accepted/tizen_wearable accepted/tizen/common/20170404.142256 accepted/tizen/ivi/20170403.130015 accepted/tizen/mobile/20170403.125543 accepted/tizen/tv/20170403.125820 accepted/tizen/unified/20170403.130115 accepted/tizen/wearable/20170403.125906 submit/tizen/20170403.050513 tizen_4.0.m1_release
Eunhae Choi [Tue, 28 Mar 2017 06:06:13 +0000 (15:06 +0900)]
spec: add license file at util pkg

Change-Id: I35513faa91dfa1c0e7ca0f3ca5a9a6a5212c5183
(cherry picked from commit 4d717a801e685381e1db858cbf52d0abe0cb6c03)

7 years agodebugutils: add pad EOS flag in pipeline dot file dumps
Tim-Philipp Müller [Mon, 27 Mar 2017 17:30:35 +0000 (18:30 +0100)]
debugutils: add pad EOS flag in pipeline dot file dumps

But only if set. Helps debug issues with EOS propagation.

7 years agotools: gst-launch: print structure property notifies nicer
Tim-Philipp Müller [Mon, 27 Mar 2017 17:27:59 +0000 (18:27 +0100)]
tools: gst-launch: print structure property notifies nicer

One less layer of escaping, but still lots of ugly \.

7 years agoFix win32 libgstreamer.def ordering
Nicolas Dufresne [Fri, 24 Mar 2017 18:33:19 +0000 (14:33 -0400)]
Fix win32 libgstreamer.def ordering

This should fix make distcheck

7 years agoparamspec: Fix array validation logic
Nicolas Dufresne [Wed, 15 Mar 2017 21:31:39 +0000 (17:31 -0400)]
paramspec: Fix array validation logic

A paramspec validation should modify the content to match what the spec
requires and return TURE if a modification happened. This previous
implementation would only fix the first element of the array and return.
It was also return TRUE for empty array, while no modification was
needed.

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

7 years agoarray/fraction: In param types, use get_type() function directly
Nicolas Dufresne [Wed, 22 Mar 2017 17:35:32 +0000 (13:35 -0400)]
array/fraction: In param types, use get_type() function directly

The GST_TYPE macro points to global variables initialized by the
first call to get_type. This is not an issue if you call gst_init()
but unfortunatly pygi will need to acces the param type before
init can be called. This removes an assertion.

7 years agofraction/array: Make get_type() thread safe
Nicolas Dufresne [Wed, 22 Mar 2017 17:33:47 +0000 (13:33 -0400)]
fraction/array: Make get_type() thread safe

Those aren't suppose to be called from multiple thread, but all
fundamental get_type() function are thread safe. Fix it to
be consistent and it may help if we change the typing mechanism
in GStreamer come day.

7 years agogstutils: Add helpers to get/set array properties
Nicolas Dufresne [Mon, 20 Mar 2017 20:46:33 +0000 (16:46 -0400)]
gstutils: Add helpers to get/set array properties

This is to help bindings access properties of type GST_TYPE_ARRAY.
This function will get/set the property and convert form/to
GValueArray.

New API:
  gst_util_set_object_array
  gst_util_get_object_array

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

7 years agostructure: Add get/set_array/list using GValueArray
Nicolas Dufresne [Mon, 20 Mar 2017 19:50:49 +0000 (15:50 -0400)]
structure: Add get/set_array/list using GValueArray

This adds a binding friendly interface to get and set arrays
and list into GstStructure.

New API:
 - gst_structure_set_array
 - gst_structure_set_list
 - gst_structure_get_array
 - gst_structure_get_list

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

7 years agogstvalue: Add transformation to/from GValueArray
Nicolas Dufresne [Mon, 20 Mar 2017 19:40:25 +0000 (15:40 -0400)]
gstvalue: Add transformation to/from GValueArray

This allow transforming a GValue of type G_TYPE_VALUE_ARRAY to
and from GST_TYPE_ARRAY/LIST.

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

7 years agoqueuearray: Add G_BEGIN_DECLS and G_END_DECLS to make it usable from C++ code
Sebastian Dröge [Fri, 24 Mar 2017 12:21:30 +0000 (14:21 +0200)]
queuearray: Add G_BEGIN_DECLS and G_END_DECLS to make it usable from C++ code

7 years agoparamspecs: Use gst_value_array_get_type() for GstParamSpecArray type
Jan Schmidt [Fri, 24 Mar 2017 06:53:31 +0000 (17:53 +1100)]
paramspecs: Use gst_value_array_get_type() for GstParamSpecArray type

When registering GstParamSpecArray, use the gst_value_array_get_type()
function to get the type, rather than the GST_TYPE_ARRAY macro, which
gets it from the _gst_value_array_type, which is in turn only
initialised during gst_init()

Fixes criticals with (python) bindings that look up all the
types from the gobject-introspection info as soon as they
are imported.

/usr/lib64/python3.5/site-packages/gi/module.py:178: Warning: g_param_type_register_static: assertion 'g_type_name (pspec_info->value_type) != NULL' failed
  g_type = info.get_g_type()
/usr/lib64/python3.5/site-packages/gi/module.py:212: Warning: g_type_get_qdata: assertion 'node != NULL' failed
  type_ = g_type.pytype
/usr/lib64/python3.5/site-packages/gi/module.py:226: Warning: g_type_get_qdata: assertion 'node != NULL' failed
  g_type.pytype = wrapper
/usr/lib64/python3.5/site-packages/gi/module.py:226: Warning: g_type_set_qdata: assertion 'node != NULL' failed
  g_type.pytype = wrapper

7 years agobaseparse: Don't forget error returns when processing more
Jan Schmidt [Fri, 17 Mar 2017 11:32:19 +0000 (22:32 +1100)]
baseparse: Don't forget error returns when processing more

If parsing returns a non-OK flow return in the middle
of processing an input buffer, don't overwrite that
if a later return is OK again - the subclass might
return not-linked in the middle, and then discard
subsequent data without pushing while returning OK.

A later success doesn't invalidate the earlier failure,
but we should continue processing after not-linked, so
as to keep parse state consistent.

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

7 years agotools: replace mentions of 'mad' on the gst-launch-1.0 man page
Tim-Philipp Müller [Mon, 20 Mar 2017 16:54:22 +0000 (16:54 +0000)]
tools: replace mentions of 'mad' on the gst-launch-1.0 man page

The 'mad' plugin has been removed. Mention mpg123audiodec instead.

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

7 years agovalue: fix union of int range and int when extending on a side
Vincent Penquerc'h [Mon, 13 Mar 2017 11:08:01 +0000 (11:08 +0000)]
value: fix union of int range and int when extending on a side

The internal representation uses bounds scaled by the step

Add tests to catch those cases

7 years agoqueue: avoid return flushing if we have a not-linked
Thiago Santos [Wed, 15 Mar 2017 05:18:36 +0000 (22:18 -0700)]
queue: avoid return flushing if we have a not-linked

Return the correct flow return instead of returning always flushing.
This would cause queue to convert not-linked to flushing and making
upstream elements stop.

Based on the previous patch for queue2.

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

7 years agoqueue2: avoid return flushing if we have a not-linked
Thiago Santos [Sun, 22 Jan 2017 14:26:56 +0000 (11:26 -0300)]
queue2: avoid return flushing if we have a not-linked

Return the correct flow return instead of returning always flushing.
This would cause queue2 to convert not-linked to flushing and making
upstream elements stop.

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

7 years agotests: bin: add more tests for suppressed flags
Thiago Santos [Sun, 18 Sep 2016 15:02:54 +0000 (12:02 -0300)]
tests: bin: add more tests for suppressed flags

Add tests to confirm flags are persisted even after removing
elements that have those suppressed flags

7 years agobuffer: handle gst_buffer_map failures
Wim Taymans [Fri, 10 Mar 2017 09:13:05 +0000 (10:13 +0100)]
buffer: handle gst_buffer_map failures

7 years agodownloadbuffer: unlock mutex in error case
Wim Taymans [Fri, 10 Mar 2017 09:12:49 +0000 (10:12 +0100)]
downloadbuffer: unlock mutex in error case

7 years agogstvalue: Do more checks when guessing at flagset strings
Jan Schmidt [Thu, 9 Mar 2017 01:09:57 +0000 (12:09 +1100)]
gstvalue: Do more checks when guessing at flagset strings

If guessing that a string matches a flagset, be more thorough
at checking that the string following a string of hex:hex:
actually looks like a flag set string. Add some unit tests
to catch more cases.

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

7 years agomultiqueue: Make min-interleave-time a configurable property
Jan Schmidt [Thu, 9 Mar 2017 01:09:57 +0000 (12:09 +1100)]
multiqueue: Make min-interleave-time a configurable property

Remove a FIXME about making the minimum interleave
buffering a configurable property

7 years agoelementfactory: promote factory not found log message to WARNING
Tim-Philipp Müller [Wed, 8 Mar 2017 14:51:42 +0000 (14:51 +0000)]
elementfactory: promote factory not found log message to WARNING

In most cases people really want to know when an element
could not be created.

7 years agoinputselector: Always proxy position/duration query
Seungha Yang [Mon, 6 Mar 2017 23:21:48 +0000 (08:21 +0900)]
inputselector: Always proxy position/duration query

active-pad switch causes reconfigure event with lock taken,
and upstream element might query the current position or duration
before returning the reconfigure event.
Meanwhile, gst_input_selector_get_linked_pad() is used to get srcpad
inside of default query handle, and it takes also lock.
Since inputselector is still locked by active-pad switch, and so the query
cannot be handled further.

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