Seungha Yang [Mon, 3 Jul 2017 06:17:33 +0000 (15:17 +0900)]
multiqueue: Calculate interleave only within each streaming thread
... and use the biggest interleave value among streaming threads.
This is to optimize multiqueue size adaptation on adaptive streaming
use case with "use-interleave" property.
https://bugzilla.gnome.org/show_bug.cgi?id=784448
Tim-Philipp Müller [Sat, 15 Jul 2017 11:40:28 +0000 (12:40 +0100)]
meson: po: use glib preset and read language list from LINGUAS
Supported since meson 0.37, so we can use it now.
Tim-Philipp Müller [Sat, 15 Jul 2017 10:54:18 +0000 (11:54 +0100)]
miniobject: don't modify memory if it's clearly not a valid miniobject
Add back function guard that checks the refcount in a read-only
operation first, and bail out without modifying the passed-in
memory if it's clearly not a valid mini object. Otherwise we
probably cause more harm than good. We keep the second sanity
check based on the 'real refcount' at the time of the unref
around for now too.
https://bugzilla.gnome.org/show_bug.cgi?id=784383
Tim-Philipp Müller [Fri, 14 Jul 2017 15:56:54 +0000 (16:56 +0100)]
basesrc: deprecate non-functional "typefind" property
https://bugzilla.gnome.org/show_bug.cgi?id=736565
Francisco Velazquez [Mon, 10 Jul 2017 14:52:38 +0000 (16:52 +0200)]
benchmark: fix complexity benchmark
Make complexity benchmark code work for complexity > 1
https://bugzilla.gnome.org/show_bug.cgi?id=784754
Tim-Philipp Müller [Fri, 14 Jul 2017 15:12:25 +0000 (16:12 +0100)]
win32: find plugin scanner in libexecdir subdir as configured
https://bugzilla.gnome.org/show_bug.cgi?id=679115
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
Graham Leggett [Sun, 11 Jun 2017 15:15:13 +0000 (15:15 +0000)]
Generate a gstreamer pipeline diagram on SIGHUP.
Useful for debugging a pipeline that refuses to enter a given state.
https://bugzilla.gnome.org/show_bug.cgi?id=783661
George Kiagiadakis [Mon, 26 Jun 2017 08:46:39 +0000 (11:46 +0300)]
basesrc: forward SINK_MESSAGE events downstream
https://bugzilla.gnome.org/show_bug.cgi?id=784551
Nicolas Dufresne [Tue, 11 Jul 2017 18:56:03 +0000 (14:56 -0400)]
meson: Fix bashcomp installation
For some reason the double quotes ended up in the path, hence
the helper where installed at "."/share/...
Nicolas Dufresne [Tue, 11 Jul 2017 18:55:42 +0000 (14:55 -0400)]
meson: Use join_paths and .set_quoted where possible
Tim-Philipp Müller [Tue, 11 Jul 2017 15:15:16 +0000 (16:15 +0100)]
meson: pkgconfig: add libunwind/libdw to gstreamer-1.0 Requires.private
https://bugzilla.gnome.org/show_bug.cgi?id=784795
Edward Hervey [Tue, 11 Jul 2017 13:29:44 +0000 (15:29 +0200)]
pkgconfig: Add private requirements
Add libunwind and dw to the .pc Requires.private. Fixes static library
compilation if gstreamer was compiled with one of those dependencies
https://bugzilla.gnome.org/show_bug.cgi?id=784795
Stefan Sauer [Sun, 9 Jul 2017 19:20:03 +0000 (21:20 +0200)]
basesink: use GST_CLOCK_TIME macros for readability
Replace some -1 comparison with GST_CLOCK_TIME macros.
Stefan Sauer [Sun, 9 Jul 2017 19:16:44 +0000 (21:16 +0200)]
collectpads: correct some comments and add more logging
Add more logging to analyze event handling (especially failure cases).
Scott D Phillips [Mon, 1 May 2017 20:35:09 +0000 (13:35 -0700)]
tools: gst-stats: Use standard character escapes
Having '\e' expand to '\x1b' is a gnu extension. I didn't see any
document describing the behavior, but gcc also seems to expand
'\[' to '['.
https://bugzilla.gnome.org/show_bug.cgi?id=782028
Tim-Philipp Müller [Fri, 7 Jul 2017 11:06:44 +0000 (12:06 +0100)]
meson: find python3 via python3 module
And rename python3 variable in meson build files for clarity.
https://bugzilla.gnome.org/show_bug.cgi?id=783198
Tim-Philipp Müller [Wed, 5 Jul 2017 12:20:19 +0000 (13:20 +0100)]
meson: add option to disable tracer hooks
Tim-Philipp Müller [Wed, 5 Jul 2017 12:19:00 +0000 (13:19 +0100)]
tests: memory: skip test that depends on debug system if it's disabled
Tim-Philipp Müller [Wed, 5 Jul 2017 12:17:49 +0000 (13:17 +0100)]
tracing: fix build with tracer hooks disabled
Tim-Philipp Müller [Mon, 3 Jul 2017 08:03:24 +0000 (09:03 +0100)]
miniobject: make refcount tracing and debug logging reliable
Tracing of the refcounts wasn't thread-safe, and log output of
the refcount values before/after wasn't reliable.
https://bugzilla.gnome.org/show_bug.cgi?id=784383
Tim-Philipp Müller [Mon, 3 Jul 2017 20:06:24 +0000 (21:06 +0100)]
plugin: clarify code that deduces plugin name from file name
Make the final else branch explicit for clarity.
https://bugzilla.gnome.org/show_bug.cgi?id=783333
Stefan Sauer [Tue, 27 Jun 2017 05:44:17 +0000 (07:44 +0200)]
docs: add a missing const in bytereader docs
This syncs the prototype with gstbytereader.h
Nicolas Dufresne [Thu, 29 Jun 2017 14:50:50 +0000 (10:50 -0400)]
basesrc: Removed unused private member qos_enabled
Nicolas Dufresne [Mon, 26 Jun 2017 18:09:20 +0000 (14:09 -0400)]
basesrc: Don't reallocate buffers when flushing
Instead of using gst_buffer_pool_set_active() when flushing, use
gst_buffer_pool_set_flushing(), this avoids uneeded reallocation of the
buffers.
Nicolas Dufresne [Thu, 1 Jun 2017 14:36:26 +0000 (10:36 -0400)]
basesrc: Don't hold LIVE_LOCK in create/alloc/fill
Holding this lock on live source prevents the source from changing
the caps in ::create() without risking a deadlock. This has consequences
as the LIVE_LOCK was replacing the STREAM_LOCK in many situation. As a
side effect:
- We no longer need to unlock when doing play/pause as the LIVE_LOCK
isn't held. We then let the create() call finish, but will block if
the state have changed meanwhile. This has the benefit that
wait_preroll() calls in subclass is no longer needed.
- We no longer need to change the state to unlock, simplifying the
set_flushing() interface
- We need different handling for EOS depending if we are in push or pull
mode.
This patch also document the locking of each private class member and
the locking order.
https://bugzilla.gnome.org/show_bug.cgi?id=783301
Nicolas Dufresne [Thu, 1 Jun 2017 14:01:13 +0000 (10:01 -0400)]
basesrc: Protect access to pool and allocator
This was only partly protected by the object lock. Always take the
object lock to access the currently configured pool and allocator.
https://bugzilla.gnome.org/show_bug.cgi?id=783301
Jimmy Ohn [Wed, 28 Jun 2017 23:30:50 +0000 (08:30 +0900)]
gst-inspect: Fix memory leak in print_pad_templates_info
gst_static_caps_get function returned allocated memory.
So, It should be free using gst_caps_unref.
https://bugzilla.gnome.org/show_bug.cgi?id=784311
Tim-Philipp Müller [Thu, 29 Jun 2017 08:10:04 +0000 (09:10 +0100)]
meson: check for ppoll() as well
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.
Thibault Saunier [Fri, 23 Jun 2017 19:13:16 +0000 (15:13 -0400)]
meson: Allow using glib as a subproject
Xabier Rodriguez Calvar [Wed, 28 Jun 2017 07:54:56 +0000 (09:54 +0200)]
protection: add function to filter system ids
gst_protection_filter_systems_by_available_decryptors() takes an array
of strings and returns a new array of strings filtered by the available
decryptors for them so the ones you get are the ones that you should be
able to decrypt.
https://bugzilla.gnome.org/show_bug.cgi?id=770107
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
Matej Knopp [Thu, 1 Jun 2017 22:52:37 +0000 (00:52 +0200)]
gstplugin: remove gst prefix when loading plugin on MSVC
When building with Meson and MSVC, our plugins don't have a 'libgst'
suffix and are just 'gstfoo.dll', so look for that too.
https://bugzilla.gnome.org/show_bug.cgi?id=783333
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
Thibault Saunier [Tue, 20 Jun 2017 15:05:41 +0000 (11:05 -0400)]
win32: Update .def file
Thibault Saunier [Wed, 14 Jun 2017 21:12:32 +0000 (17:12 -0400)]
utils: Add a function to get a string representation of GstStateChange
API:
gst_state_change_get_name
https://bugzilla.gnome.org/show_bug.cgi?id=783798
Thibault Saunier [Thu, 15 Jun 2017 14:38:29 +0000 (10:38 -0400)]
element: Add missing values for "to same" state changes
And handle newly added GstStateChange values in GstPipeline
https://bugzilla.gnome.org/show_bug.cgi?id=783798
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
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
Sebastian Dröge [Tue, 20 Jun 2017 07:00:16 +0000 (10:00 +0300)]
controller: Export boxed type copy/free functions for GstControlPoint
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
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
Tim-Philipp Müller [Thu, 15 Jun 2017 09:51:50 +0000 (10:51 +0100)]
meson: fix tests build with --werror
Need to pass -DGST_DISABLE_DEPRECATED to avoid warnings when
testing deprecated API such as gst_uri_construct().
Also remove #ifndef GST_DISABLE_DEPRECATED guard from header
file, we don't use those any more for functions, the
GST_DEPRECATED_FOR macro is enough.
Dimitrios Katsaros [Wed, 14 Jun 2017 15:36:57 +0000 (17:36 +0200)]
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.
I have deleted the escape_string function since it is no longer being
used and have created a unit test for the function. I have also
deprecated this function in favour of the GstUri API.
https://bugzilla.gnome.org/show_bug.cgi?id=783787
Thibault Saunier [Wed, 7 Jun 2017 15:42:28 +0000 (11:42 -0400)]
meson: Do not use path separator in test names
Avoiding warnings like:
WARNING: Target "elements/audioamplify" has a path separator in its name.
Sebastian Dröge [Wed, 31 May 2017 17:40:00 +0000 (20:40 +0300)]
bin: Put correct annotations on gst_bin_add() too
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.
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.
Tim-Philipp Müller [Sun, 21 May 2017 17:11:36 +0000 (18:11 +0100)]
meson: actually remove config.h.meson as well
Sebastian Dröge [Sun, 21 May 2017 16:16:57 +0000 (19:16 +0300)]
protection: Fix annotations for gst_protection_select_system()
Olivier Crête [Sun, 21 May 2017 15:04:10 +0000 (17:04 +0200)]
plugin: Stop plugin symbol name at first .
This is because the python plugin ends up named
libgstpython.cpython-35m-x86_64-linux-gnu.so so we need to stop
at the first dot.
https://bugzilla.gnome.org/show_bug.cgi?id=782924
Tim-Philipp Müller [Sun, 21 May 2017 13:26:01 +0000 (14:26 +0100)]
meson: don't need config.h.meson any more
Meson does the largefile support automatically nowadays, and
can generate a config.h from configuration_data() without a
template as input.
Tim-Philipp Müller [Sun, 21 May 2017 08:02:54 +0000 (09:02 +0100)]
meson: make C++ compiler optional
It's only used to build tests to see if our headers are C++ clean.
Tim-Philipp Müller [Sat, 20 May 2017 16:57:39 +0000 (17:57 +0100)]
meson: check: generate .gir file
https://bugzilla.gnome.org/show_bug.cgi?id=782173
Sebastian Dröge [Sat, 20 May 2017 16:42:51 +0000 (19:42 +0300)]
parse: Make gst_parse_context_copy() public for bindings
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.
Tim-Philipp Müller [Sat, 20 May 2017 15:43:39 +0000 (16:43 +0100)]
Dist meson ptp helper install script
Fixes meson build from tarball.
Thibault Saunier [Sat, 20 May 2017 11:24:18 +0000 (13:24 +0200)]
leaks: Handle subclasses in filters even for unhandled/lazy loaded types
Using typename in the set of unhandled types instead of the quark so
that we also handle subclasses as with other filters.
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.
Matej Knopp [Wed, 17 May 2017 19:50:25 +0000 (21:50 +0200)]
gst-plugin: allow '-' in plugin file name
'-' will be translated to underscore when determining symbol name
https://bugzilla.gnome.org/show_bug.cgi?id=782756
Christoph Reiter [Mon, 20 Jun 2016 13:58:59 +0000 (15:58 +0200)]
gst: ref_sink() some more floating references returned by g_object_new()
https://bugzilla.gnome.org/show_bug.cgi?id=743062
Sebastian Dröge [Mon, 15 May 2017 15:58:38 +0000 (18:58 +0300)]
gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
I.e. most of them unfortunately.
https://bugzilla.gnome.org/show_bug.cgi?id=743062
Sebastian Dröge [Mon, 15 May 2017 11:34:57 +0000 (14:34 +0300)]
allocator: ref_sink() the global sysmem allocator after creation
It's not owned by the first one to ask for it, but by this very code.
https://bugzilla.gnome.org/show_bug.cgi?id=743062
Sebastian Dröge [Mon, 15 May 2017 11:32:48 +0000 (14:32 +0300)]
gst: Don't ref_sink() GstObject subclasses in instance_init/constructor
This is something bindings can't handle and it causes leaks. Instead
move the ref_sink() to the explicit, new() constructors.
This means that abstract classes, and anything that can have subclasses,
will have to do ref_sink() in their new() function now. Specifically
this affects GstClock and GstControlSource.
https://bugzilla.gnome.org/show_bug.cgi?id=743062
Sebastian Dröge [Mon, 15 May 2017 11:32:00 +0000 (14:32 +0300)]
gst: Correctly annotate functions taking floating reference parameters and returning floating references
https://bugzilla.gnome.org/show_bug.cgi?id=702960
Sebastian Dröge [Mon, 15 May 2017 11:29:05 +0000 (14:29 +0300)]
gst: Handle floating references consistently
If a function takes a floating reference parameter, it should also be
sinked in error cases. Otherwise the function behaves differently
between error and normal cases, which is impossible for bindings to
handle.
https://bugzilla.gnome.org/show_bug.cgi?id=747990
Vineeth TM [Fri, 10 Jul 2015 06:36:59 +0000 (15:36 +0900)]
gst: Fix floating reference inconsistencies in error cases
If a function takes a floating reference and sinks it, it should also do
that in error cases. I.e. call ref_sink() followed by unref().
Otherwise the reference counting behaviour of the function will be
different between the good and the error case, and simply inconsistent.
https://bugzilla.gnome.org/show_bug.cgi?id=747990
Nicolas Dufresne [Tue, 16 May 2017 17:31:06 +0000 (13:31 -0400)]
Also use default visibility for plugins symbol
Nicolas Dufresne [Tue, 16 May 2017 17:29:38 +0000 (13:29 -0400)]
Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
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.
Tim-Philipp Müller [Wed, 10 May 2017 12:03:31 +0000 (13:03 +0100)]
gstconfig.h: use default visibility for GST_EXPORT for gcc/clang too
This will be needed later when we switch to using -fvisibility=hidden.
Tim-Philipp Müller [Wed, 10 May 2017 12:07:31 +0000 (13:07 +0100)]
gst: add GST_DEPRECATED_FOR() and also export deprecated symbols
Can't use a #ifndef GST_DISABLE_DEPRECATED guard around deprecated
functions any more, as they won't get exported then. Besides, we
get a nicer error message from the compiler telling us what function
to use instead this way.
Tim-Philipp Müller [Wed, 10 May 2017 09:56:16 +0000 (10:56 +0100)]
gst: mark symbols explicitly for export with GST_EXPORT
One omission: gst_allocator_sysmem_get_type() was
exported but never in any public header file.
Tim-Philipp Müller [Tue, 9 May 2017 23:11:10 +0000 (00:11 +0100)]
libs: controller: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 9 May 2017 15:19:31 +0000 (16:19 +0100)]
libs: base: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 9 May 2017 15:01:46 +0000 (16:01 +0100)]
libs: net: mark symbols explicitly for export with GST_EXPORT
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
Stefan Sauer [Sat, 13 May 2017 16:19:05 +0000 (18:19 +0200)]
docs: use the full path to ignore dirs
Stefan Sauer [Fri, 12 May 2017 15:49:25 +0000 (17:49 +0200)]
docs: remove stray ',\' from doc comment
Sebastian Dröge [Sat, 25 Feb 2017 10:18:14 +0000 (12:18 +0200)]
buffer: Add GstReferenceTimestampMeta
This is a meta that generically allows to attach additional reference
timestamps to a buffer, that don't have to relate to the pipeline clock
in any way.
Examples of this could be an NTP timestamp when the media was captured,
a frame counter on the capture side or the (local) UNIX timestamp when
the media was captured.
https://bugzilla.gnome.org/show_bug.cgi?id=779213
Tim-Philipp Müller [Tue, 9 May 2017 15:29:21 +0000 (16:29 +0100)]
meson: bump meson version requirement to 0.40.1
Sebastian Dröge [Thu, 15 Dec 2016 10:48:55 +0000 (12:48 +0200)]
bus: Add function to get the file descriptor of the bus
This is useful for integration with other event loops that work by
polling file descriptors. G_IO_IN will always be set whenever a message
is available currently.
https://bugzilla.gnome.org/show_bug.cgi?id=776126
Nicolas Dufresne [Tue, 28 Feb 2017 02:38:11 +0000 (21:38 -0500)]
plugin: Unify static and dynamic plugin interface
This patch changes the entry point of each plugin in order to unify the
interface for static and dynamic plugin. What we do is replace the
current static plugin interface and extend the dymamic one. The plugin
entry was a C structure, name "gst_plugin_desc". With this patch, the
interface is now:
GstPpluginDesc *gst_plugin_<name>_get_desc(void);
The reason we change the C structure into function, is that it is
potentially more common to have function pointers, avoiding possible
binding language limitation. Additionally to that. This change prevents
the symbols from clashing between plugins, allowing to build once the
plugin (assuming you have -fPIC).
On the plugin loader side, we symply derive the shared object basename
to extract the plugin name. If this symbol is not found, we fallback to
gst_plugin_desc for backward compatibility.
This has one side effect, which is that the shared objects now need to
be named after their plugin name. This is generally the case with few
exceptions. The benifit of this limitation is that you can control the
gst_plugin_<name>_desc clash at file level.
https://bugzilla.gnome.org/show_bug.cgi?id=779344
Tim-Philipp Müller [Tue, 9 May 2017 08:24:43 +0000 (09:24 +0100)]
meson: fix search path for setcap
Tim-Philipp Müller [Sun, 7 May 2017 10:17:22 +0000 (11:17 +0100)]
debugutils: make local variable static
Tim-Philipp Müller [Fri, 5 May 2017 11:23:43 +0000 (12:23 +0100)]
meson: fail silently in ptp helper post install script
.. in case permissions/capabilities could not be set.
Tim-Philipp Müller [Fri, 5 May 2017 11:02:33 +0000 (12:02 +0100)]
meson: use cc.find_library()
find_library() was deprecated and removed in later versions.
Tim-Philipp Müller [Fri, 5 May 2017 10:49:08 +0000 (11:49 +0100)]
meson: add gst-ptp-helper
https://bugzilla.gnome.org/show_bug.cgi?id=774418
Tim-Philipp Müller [Fri, 5 May 2017 08:10:56 +0000 (09:10 +0100)]
meson: fix indentation
No tabs please.
Tim-Philipp Müller [Thu, 4 May 2017 23:45:06 +0000 (00:45 +0100)]
helpers: remove old cruft from CLEANFILES
These files are no longer built, so no need to clean them.
Tim-Philipp Müller [Sat, 29 Apr 2017 10:30:54 +0000 (11:30 +0100)]
g-i: no need to load registry in g-i scanner
Tim-Philipp Müller [Thu, 4 May 2017 20:37:28 +0000 (21:37 +0100)]
Don't generate gst-element-check-1.0.m4 on the fly and fix meson build
This will interfere with 'git pull'. You will have to remove the
old generated gst-element-check-1.0.m4 manually if you're pulling
on a dirty build directory, sorry.
https://bugzilla.gnome.org/show_bug.cgi?id=782174
Tim-Philipp Müller [Thu, 4 May 2017 20:06:21 +0000 (21:06 +0100)]
meson: install gst-element-check-1.0.m4
https://bugzilla.gnome.org/show_bug.cgi?id=782174
Yasushi SHOJI [Sun, 30 Apr 2017 03:10:49 +0000 (12:10 +0900)]
harness: Abort when failed to construct the specified pipeline
gst_harness_new_parse() returns without any error even if it doesn't
find the specified element. Then a succeeding call to
gst_harness_set_sink_caps_str() causes an error like this:
Unexpected critical/warning: gst_pad_push_event: assertion 'GST_IS_PAD (pad)' failed
This is a bit cryptic and doesn't give users any clue what was going
on.
gst_harness_new_parse() calls gst_harness_add_parse() with a newly
created empty harness and the given pipeline description string, but
gst_harness_add_parse() does not have a way to propagate the error
back to the caller. Since the function, gst_harness_add_parse(), is a
public API, it's not a good idea to change its signature. This patch,
instead, makes the function to g_error() when it discovers any error.
With this change the same error prints:
** (myelement-test:25345): ERROR **: Unable to create pipeline 'bin.( myelement )': no element "myelement"
The current implementation of gst_parse_launch_full() doesn't return
partially constructed pipeline when GST_PARSE_FLAG_FATAL_ERRORS is
specified, however, this patch also adds a check for it.
https://bugzilla.gnome.org/show_bug.cgi?id=781958
Sebastian Dröge [Thu, 4 May 2017 15:59:14 +0000 (18:59 +0300)]
Back to development
Sebastian Dröge [Thu, 4 May 2017 12:36:55 +0000 (15:36 +0300)]
Release 1.12.0
Sebastian Dröge [Thu, 4 May 2017 12:00:16 +0000 (15:00 +0300)]
Update .po files
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.
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