Guillaume Desmottes [Tue, 26 Apr 2016 13:02:14 +0000 (16:02 +0300)]
capsfeature: add cleanup priv function
Those are allocated in _priv_gst_caps_features_initialize() so it makes
sense to have a symetric cleanup functions called by gst_deinit().
https://bugzilla.gnome.org/show_bug.cgi?id=765606
Alex Ashley [Thu, 21 Apr 2016 13:45:39 +0000 (14:45 +0100)]
testclock: add clock-type property
To allow the GstTestClock to be used as a GstSystemClock, it is
useful to implement the clock-type property that GstSystemClock
provides. This allows GstTestClock to be used as the system clock
with code that expects a GstSystemClock.
https://bugzilla.gnome.org/show_bug.cgi?id=762147
Sebastian Dröge [Thu, 21 Apr 2016 10:49:32 +0000 (13:49 +0300)]
datetime: Sanity check year, month and day when parsing ISO-8601 strings
Passing years > 9999, months > 12 or days > 31 to gst_date_time_new() will
cause an assertion and generally does not make much sense. Instead consider it
as a parsing error like hours > 24 and return NULL.
Sebastian Dröge [Wed, 20 Apr 2016 08:46:19 +0000 (11:46 +0300)]
baseparse: Remember if we interpolated DTS from PTS and refresh it whenever we update the PTS
Otherwise PTS and DTS will come out of sync if upstream continues to provide
PTS and not DTS, and we have to skip some data from the stream or PTS are not
exactly increasing with the duration of each packet.
https://bugzilla.gnome.org/show_bug.cgi?id=765260
Sebastian Dröge [Wed, 20 Apr 2016 08:45:28 +0000 (11:45 +0300)]
typefindhelper: Fix gobject-introspection warning about invalid transfer annotation
gsttypefindhelper.c:485: Warning: GstBase: invalid "transfer" annotation for gsize: only valid for array, struct, union, boxed, object and interface types
Guillaume Desmottes [Mon, 18 Apr 2016 10:05:40 +0000 (13:05 +0300)]
allocator: add cleanup method
Make tracking memory leaks easier.
https://bugzilla.gnome.org/show_bug.cgi?id=765212
Francisco Velazquez [Fri, 25 Mar 2016 14:55:18 +0000 (15:55 +0100)]
tests: plugin: improve debug message
https://bugzilla.gnome.org/show_bug.cgi?id=764199
Carlos Rafael Giani [Thu, 14 Apr 2016 09:54:32 +0000 (11:54 +0200)]
multiqueue: Recheck buffering status after changing low threshold
https://bugzilla.gnome.org/show_bug.cgi?id=763757
Carlos Rafael Giani [Wed, 13 Apr 2016 22:09:44 +0000 (00:09 +0200)]
multiqueue: Recalculate fill level after changing high-threshold
This ensures the following special case is handled properly:
1. Queue is empty
2. Data is pushed, fill level is below the current high-threshold
3. high-threshold is set to a level that is below the current fill level
Since mq->percent wasn't being recalculated in step #3 properly, this
caused the multiqueue to switch off its buffering state when new data is
pushed in, and never post a 100% buffering message. The application will
have received a <100% buffering message from step #2, but will never see
100%.
Fix this by recalculating the current fill level percentage during
high-threshold property changes in the same manner as it is done when
use-buffering is modified.
https://bugzilla.gnome.org/show_bug.cgi?id=763757
Sebastian Dröge [Fri, 15 Apr 2016 10:50:30 +0000 (13:50 +0300)]
baseparse: When initializing DTS from PTS, remember that we did so
If we don't store the value in prev_dts, we would over and over again
initialize the DTS from the last known upstream PTS. If upstream only provides
PTS every now and then, then this causes DTS to be rather static.
For example in adaptive streaming scenarios this means that all buffers in a
fragment will have exactly the same DTS while the PTS is properly updated. As
our queues are now preferring to do buffer fill level calculations on DTS,
this is causing huge problems there.
See https://bugzilla.gnome.org/show_bug.cgi?id=691481#c27 where this part of
the code was introduced.
https://bugzilla.gnome.org/show_bug.cgi?id=765096
Julien Isorce [Thu, 14 Apr 2016 08:58:04 +0000 (09:58 +0100)]
Automatic update of common submodule
From 6f2d209 to ac2f647
Vincent Penquerc'h [Wed, 13 Apr 2016 15:08:30 +0000 (16:08 +0100)]
multiqueue: catch errors and flushing case after lock
This ensures we can not get into an indefinite wait on the
following cond var wait.
https://bugzilla.gnome.org/show_bug.cgi?id=764999
Tim-Philipp Müller [Wed, 13 Apr 2016 15:40:43 +0000 (16:40 +0100)]
tools: gst-launch: fix up caps printing in verbose mode
Add missing 'else' and print caps and taglists without the
annoying duplicate string escaping, making both nicer to read.
Fixes string leak and coverity CID 1358492.
Guillaume Desmottes [Wed, 13 Apr 2016 09:38:05 +0000 (12:38 +0300)]
rusage: properly free the queue memory
The queue is allocated as part of the tracer struct so we should not
use g_queue_free() to free it.
https://bugzilla.gnome.org/show_bug.cgi?id=764985
Sebastian Dröge [Wed, 13 Apr 2016 07:21:15 +0000 (10:21 +0300)]
meta: Warn if a meta implementation is registered without init function
This previously caused uninitialized memory unless something else was
initializing all the fields explicitly to something.
To be on the safe side, we also allocate metas without init function to all
zeroes now as it was relatively common.
https://bugzilla.gnome.org/show_bug.cgi?id=764902
Sebastian Dröge [Tue, 12 Apr 2016 12:17:36 +0000 (15:17 +0300)]
Revert "basesink: Take PREROLL_LOCK in wait_event()"
This reverts commit
828a4627db0cb6a6706b96d9be97e5e5c7d22215.
The lock was already taken elsewhere, in gst_base_sink_event().
Sebastian Dröge [Tue, 12 Apr 2016 12:11:30 +0000 (15:11 +0300)]
basesink: Take PREROLL_LOCK in wait_event()
It is calling do_sync(), which requires the STREAM_LOCK and PREROLL_LOCK to be
taken. The STREAM_LOCK is already taken in all callers, the PREROLL_LOCK not.
https://bugzilla.gnome.org/show_bug.cgi?id=764939
Julien Isorce [Thu, 11 Feb 2016 08:33:28 +0000 (09:33 +0100)]
tests: add PTHREAD_CFLAGS for make check to pass on OS X
Currently "make check" fails with:
"error: argument unused during compilation: '-pthread'"
PTHREAD_CFLAGS now contains -Qunused-arguments to fix that.
Explanation here: http://savannah.gnu.org/patch/?8186#comment21
https://bugzilla.gnome.org/show_bug.cgi?id=747954
Tim-Philipp Müller [Mon, 11 Apr 2016 09:44:22 +0000 (10:44 +0100)]
tests: baseparse: make work with CK_FORK=no
https://bugzilla.gnome.org/show_bug.cgi?id=623469
Tim-Philipp Müller [Mon, 11 Apr 2016 09:27:56 +0000 (10:27 +0100)]
tests: transform1: make test work with CK_FORK=no
We need to clear some global state and register a new test
basetransform subclass for each test because we do things
in class_init base on global state.
https://bugzilla.gnome.org/show_bug.cgi?id=623469
Tim-Philipp Müller [Sun, 10 Apr 2016 19:45:24 +0000 (20:45 +0100)]
tests: collectpads: fix for CK_FORK=no
Reset global state when done, and unref sink pads too
in teardown function to make it valgrind clean.
https://bugzilla.gnome.org/show_bug.cgi?id=623469
Tim-Philipp Müller [Sun, 10 Apr 2016 19:25:44 +0000 (20:25 +0100)]
tests: streamiddemux: fix with CK_FORK=no
Clear global state when done.
https://bugzilla.gnome.org/show_bug.cgi?id=623469
Tim-Philipp Müller [Sun, 10 Apr 2016 19:04:07 +0000 (20:04 +0100)]
tests: bufferpool: fix wrong assumptions about pointers and object lifecycles
The test assumed that if a buffer has the same pointer address as
before it is in fact the same mini object and has been re-used by
the pool. This seems to be mostly true, but not always. The buffer
might be destroyed and when a new buffer is created the allocator
might return the same memory that we just freed.
Instead attach a qdata with destroy notify function to buffer
instances we want to track to make sure the buffer actually
gets finalized rather than resurrected and put back into the pool.
Tim-Philipp Müller [Sun, 10 Apr 2016 17:37:31 +0000 (18:37 +0100)]
docs: pwg: remove broken references to example code
We point to gst-template at the beginning that shoul be
enough.
https://bugzilla.gnome.org/show_bug.cgi?id=623575
Tim-Philipp Müller [Fri, 8 Apr 2016 12:26:48 +0000 (13:26 +0100)]
tests: don't run tracerrecord in valgrind for now
Because of the way we implement logging and adding/removing
log functions currently (we leak a GList on purpose) this
test leaks.
Tim-Philipp Müller [Sat, 5 Mar 2016 17:51:01 +0000 (17:51 +0000)]
tools: gst-launch: use new async property change notification API
https://bugzilla.gnome.org/show_bug.cgi?id=763142
Tim-Philipp Müller [Sat, 5 Mar 2016 14:12:36 +0000 (14:12 +0000)]
element: add API to get property change notifications via messages
Be notified in the application thread via bus messages about
notify::* and deep-notify::* property changes, instead of
having to deal with it in a non-application thread.
API: gst_element_add_property_notify_watch()
API: gst_element_add_property_deep_notify_watch()
API: gst_element_remove_property_notify_watch()
API: gst_message_new_property_notify()
API: gst_message_parse_property_notify()
API: GST_MESSAGE_PROPERTY_NOTIFY
https://bugzilla.gnome.org/show_bug.cgi?id=763142
Sebastian Dröge [Thu, 7 Apr 2016 17:29:10 +0000 (20:29 +0300)]
tests: Add C++ tests for the other INIT macros we have
Tim-Philipp Müller [Wed, 6 Apr 2016 16:19:28 +0000 (17:19 +0100)]
tests: gstcpp: flesh out C++ test so we can add more bits
Like a check for GST_MAP_INFO_INIT.
Tim-Philipp Müller [Wed, 6 Apr 2016 15:48:38 +0000 (16:48 +0100)]
tests: use catch-all includes for c++ gst libs include test
So we get any new header files as well as they're added.
Tim-Philipp Müller [Wed, 6 Apr 2016 16:23:20 +0000 (17:23 +0100)]
memory: fix C++ compiler warnings with GST_MAP_INFO_INIT
Matthew Waters [Mon, 4 Apr 2016 10:28:18 +0000 (10:28 +0000)]
utils: check the correct element's state on ghosting pads
Checking the current element's state when we're adding pads to
the parent element is checking the wrong thing.
Silences a 'attempting to add an inactive pad to a running element'
warning when adding a ghost pad to a running parent bin of the parent
bin of the element.
https://bugzilla.gnome.org/show_bug.cgi?id=764176
Matthew Waters [Fri, 25 Mar 2016 01:28:18 +0000 (01:28 +0000)]
utils: expose pad_link_maybe_ghosting
This is a useful function to automatically add ghost pads when linking
two elements across bin boundaries without know their exact parentage.
e.g. when using gst_parse_bin_from_description (with or without it ghosting pads),
one can simply retreive the src/sink pads from the bin to link to another pad.
Similar functionality is provided by gst_element_link_pads{_full}() however only
by pad name rather than by actual pads.
API: gst_pad_link_maybe_ghosting_full
https://bugzilla.gnome.org/show_bug.cgi?id=764176
Reynaldo H. Verdejo Pinochet [Mon, 4 Apr 2016 06:35:46 +0000 (23:35 -0700)]
docs/design/part-states.txt: spelling fix
Mark Combellack [Fri, 15 May 2015 12:36:04 +0000 (13:36 +0100)]
GST_REFCOUNTING: Add logging of pointer address for dispose, finalize, etc messages
Updated the GST_REFCOUNTING logging so that it includes the pointer
address of the object that is being disposed or finalized.
With this change is is then possible to match up GST_REFCOUNTING log messages
for object allocation/disposal/finalization. This can help with diagnosing
"memory leaks" in applications that have not correctly disposed of all the
GStreamer objects it creates.
https://bugzilla.gnome.org/show_bug.cgi?id=749427
Luis de Bethencourt [Thu, 31 Mar 2016 10:46:03 +0000 (11:46 +0100)]
info: only open log file when adding it to the log function
This avoids the leak of opening it and then not passing it or closing it
before it goes out of scope.
Sebastian Dröge [Fri, 1 Apr 2016 19:41:51 +0000 (22:41 +0300)]
clock: Return FALSE in all paths that don't set out parameters in gst_clock_add_observation_unapplied()
It returned TRUE when regression failed, while not setting any of the out
parameters. This caused uninitialized data from the stack to be used for
setting the clock calibration.
Thiago Santos [Thu, 24 Mar 2016 20:34:20 +0000 (17:34 -0300)]
pad: rework probe's hook_marshall function
PUSH and PULL mode have opposite scenarios for IDLE and BLOCK
probes.
For PUSH it will BLOCK with some data type and IDLE won't have a type.
For PULL it will BLOCK before getting some data and will be IDLE when
some data is obtained.
The check in hook_marshall was specific for PUSH mode and would cause
PULL probes to fail to be called. Adding different checks for the mode
to fix this issue.
https://bugzilla.gnome.org/show_bug.cgi?id=761211
Thiago Santos [Thu, 24 Mar 2016 20:34:40 +0000 (17:34 -0300)]
tests: pad: extra tests for pad pull probes
For BUFFER and IDLE probes
https://bugzilla.gnome.org/show_bug.cgi?id=761211
Matej Knopp [Thu, 28 Jan 2016 15:22:17 +0000 (16:22 +0100)]
pad: Add test for blocking pull probe
https://bugzilla.gnome.org/show_bug.cgi?id=761211
Thiago Santos [Thu, 24 Mar 2016 15:13:39 +0000 (12:13 -0300)]
pad: consider PROBE_TYPE_EVENT_FLUSH when using PROBE_TYPE_ALL_BOTH
When GST_PAD_PROBE_EVENT_FLUSH is used, the probes already have
a data type and it is not needed to automatically add the default
types.
https://bugzilla.gnome.org/show_bug.cgi?id=762330
Linus Svensson [Fri, 19 Feb 2016 15:18:12 +0000 (16:18 +0100)]
gstpad tests: Add a test for flush event only probes
https://bugzilla.gnome.org/show_bug.cgi?id=762330
Tim-Philipp Müller [Sat, 26 Mar 2016 17:21:51 +0000 (17:21 +0000)]
debugutils: fix enum/flag properties printing for elements
We want to use the flag/enum nicks here, not only because they
are shorter but also because in case of element-specific enums
and flags we abuse the enum/flag name field for the description,
and we don't want that printed in the dot file.
https://bugzilla.gnome.org/show_bug.cgi?id=763814
Tim-Philipp Müller [Wed, 23 Mar 2016 10:31:46 +0000 (10:31 +0000)]
alloctrace: print size and allocator details for buffers and memories
Tim-Philipp Müller [Mon, 29 Feb 2016 19:04:16 +0000 (19:04 +0000)]
info: make it possible to remove default log handler before gst_init()
Make sure it's not even added then, so that we never output
anything via the default log handler then.
https://bugzilla.gnome.org/show_bug.cgi?id=751538
Tim-Philipp Müller [Sat, 5 Mar 2016 14:27:35 +0000 (14:27 +0000)]
miniobject, memory, uri: warn on unused return value of some funcs
Make compiler issue a warning for common beginner mistakes such as:
...
gst_buffer_make_writable (buf);
gst_buffer_map (buf, &map, GST_MAP_WRITE);
...
and similar. Only do this for some functions for now.
Tim-Philipp Müller [Sat, 26 Mar 2016 11:17:02 +0000 (11:17 +0000)]
.gitignore new netclock-replay testing tool binary
Tim-Philipp Müller [Sat, 17 Oct 2015 17:01:47 +0000 (18:01 +0100)]
registry: allow plugin and feature filter funcs to call registry API
Don't keep the registry locked whilst iterating over the plugins
or features with a filter function. This would deadlock if the
callback tried to access the registry from the function. Instead,
make a copy of the feature/plugin list and then filter it without
holding the registry lock. This is still considerably faster than
the alternative which would be to use a GstIterator.
https://bugzilla.gnome.org/show_bug.cgi?id=756738
Sebastian Dröge [Fri, 25 Mar 2016 10:59:57 +0000 (12:59 +0200)]
configure: Remove unneeded parenthesis from AG_GST_CHECK_CHECKS
Sebastian Dröge [Fri, 25 Mar 2016 10:05:41 +0000 (12:05 +0200)]
valve: Fix unit test by sending caps before buffers
Unexpected critical/warning: gstpad.c:4400:gst_pad_push_data:<'':src> Got data flow before segment event
https://bugzilla.gnome.org/show_bug.cgi?id=763753
Sebastian Dröge [Fri, 25 Mar 2016 08:23:46 +0000 (10:23 +0200)]
netclock: Link the replay example to GIO
Arun Raghavan [Thu, 3 Mar 2016 16:15:54 +0000 (21:45 +0530)]
tests: Add some code to replay and analyse netclientclock
This takes readings in the form of ...
<local_1> <remote_1> <remote_2> <local_2>
... with one observation per line, and then replays it using the
netclientclock code.
The output is the statistics structure emitted by the netclientclock,
which can then be analysed and tuned once we get those readings for
potential edge-cases.
It should be possible to find some inputs with "bad" data and convert
this into a unit test for future tweaks to run against.
Arun Raghavan [Thu, 3 Mar 2016 16:14:35 +0000 (21:44 +0530)]
netclientclock: Always dump clock observations in logs
This makes it possible to examine what values we get in logs, and
potentially tune our filtering/extrapolation in various scenarios.
Havard Graff [Wed, 16 Mar 2016 14:13:39 +0000 (15:13 +0100)]
valve: don't send sticky events as a direct response to upstream events
Also refactor the existing valve test to actually test the valve,
and not just test the EOS mechanism of a pad.
https://bugzilla.gnome.org/show_bug.cgi?id=763753
Carlos Rafael Giani [Fri, 11 Mar 2016 08:23:04 +0000 (09:23 +0100)]
parse-launch: Add flag for placing elements in a bin instead of a pipeline
By default, gst_parse_launch_full() creates a GstPipeline if there's more
than one toplevel element. Add a flag to let it use a GstBin instead.
Also fix the parser to let it use this flag for GST_TYPE_ELEMENT property
values, to avoid having GstPipelines inside other GstPipelines.
https://bugzilla.gnome.org/show_bug.cgi?id=763457
Tim-Philipp Müller [Tue, 8 Mar 2016 19:08:16 +0000 (19:08 +0000)]
capsfilter: optimisation: avoid unnecessary gst_pad_has_current_caps() checks
No need to do this for every input buffer, since it involves
locking and iterating of the sticky events array and such.
https://bugzilla.gnome.org/show_bug.cgi?id=763337
Vineeth TM [Thu, 3 Mar 2016 05:15:00 +0000 (14:15 +0900)]
gstreamer: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763020
Edward Hervey [Wed, 2 Mar 2016 16:47:33 +0000 (17:47 +0100)]
queue: Use full running time for level calculation
Ensures we have proper time level estimation for the cases where
the incoming buffers have PTS/DTS outside of the segment start/stop
values.
https://bugzilla.gnome.org/show_bug.cgi?id=762995
Stian Selnes [Wed, 27 Jan 2016 10:46:06 +0000 (11:46 +0100)]
pad: Fix race between gst_element_remove_pad and state change
When going from READY to NULL all element pads are deactivated. If
simultaneously the pad is being removed from the element with
gst_element_remove_pad() and the pad is unparented, there is a race
where the deactivation will assert (g_critical) if the parent is lost at
the wrong time.
The proposed fix will check parent only once and retain it to avoid the
race.
https://bugzilla.gnome.org/show_bug.cgi?id=761912
Nicolas Dufresne [Thu, 3 Mar 2016 02:11:51 +0000 (21:11 -0500)]
collectpads: Assume PTS is equal DTS if PTS is missing
This is the best guess we can make if such a buffer reached the collect
pad. This is uncommon, we do expect parsers to have tried and fixed that
if possible (or needed).
https://bugzilla.gnome.org/show_bug.cgi?id=762207
Sebastian Dröge [Thu, 24 Mar 2016 11:32:41 +0000 (13:32 +0200)]
Back to development
Sebastian Dröge [Thu, 24 Mar 2016 09:49:44 +0000 (11:49 +0200)]
typefind: Remove redundant assignment
CID 1357158
Sebastian Dröge [Thu, 24 Mar 2016 09:49:08 +0000 (11:49 +0200)]
Release 1.8.0
Sebastian Dröge [Thu, 24 Mar 2016 09:35:26 +0000 (11:35 +0200)]
Update .po files
Anthony G. Basile [Sun, 13 Mar 2016 15:05:29 +0000 (11:05 -0400)]
libcompat.h: strsignal() should be not be decleared const
POSIX standards requires strsignal() to return a pointer to a char,
not a const pointer to a char. [1] On uClibc, and possibly other
libc's, that do not HAVE_DECL_STRSIGNAL, libcompat.h declares
const char *strsignal (int sig) which causes a type error.
[1] man 3 strsignal
https://bugzilla.gnome.org/show_bug.cgi?id=763567
Sebastian Dröge [Tue, 22 Mar 2016 17:04:59 +0000 (19:04 +0200)]
preset: Use GST_PRESET_PATH as an extension of the system path, not a replacement of the user path
First load all system presets, then all from the environment variable, then
from the app directory, then from the user directory. Any one in the chain
with the highest version completely replaces all previous ones, later ones
with lower versions are merged in without replacing existing presets.
This is basically the same behaviour as before, just that GST_PRESET_PATH is
inserted as another source of directories between the system and app presets.
It was added in
ca08af1f17d2ce36b83998a0ba3a7b8bcafd7872, but was
accidentially overriding the user preset path there. Which caused inconsistent
behaviour as new presets were still stored in the system path, just not loaded
from there. Meaning you could store a new preset (in the user path), just for
GstPreset to not find it anymore later (because it only looked in the
GST_PRESET_PATH instead of the user path).
https://bugzilla.gnome.org/show_bug.cgi?id=764034
Aurélien Zanelli [Sat, 19 Mar 2016 11:55:09 +0000 (12:55 +0100)]
utils: add 'transfer full' annotation to gst_pad_peer_query_caps
https://bugzilla.gnome.org/show_bug.cgi?id=763912
Aurélien Zanelli [Sat, 19 Mar 2016 11:39:18 +0000 (12:39 +0100)]
pad: add 'transfer full' and 'nullable' annotations to gst_pad_get_current_caps
and also change the description accordingly since function returns an
incremented caps object or NULL if there is no caps set.
https://bugzilla.gnome.org/show_bug.cgi?id=763912
Ben Iofel [Fri, 18 Mar 2016 20:02:43 +0000 (16:02 -0400)]
utils: fix gir annotation for gst_element_query_convert()
https://bugzilla.gnome.org/show_bug.cgi?id=763895
Jan Schmidt [Wed, 16 Mar 2016 14:42:55 +0000 (01:42 +1100)]
tests: Check multiqueue not-linked EOS handling
Add a test which checks that not-linked pads continue
to output data after linked pads have gone EOS
https://bugzilla.gnome.org/show_bug.cgi?id=763770
Jan Schmidt [Thu, 17 Mar 2016 16:08:39 +0000 (03:08 +1100)]
multiqueue: Fix not-linked pad handling at EOS
Ensure that not-linked pads will drain out at EOS by
correctly detecting the EOS condition based on the EOS
pad flag (which indicates we actually pushed an EOS),
and make sure that not-linked pads are woken when doing
EOS processing on linked pads.
https://bugzilla.gnome.org/show_bug.cgi?id=763770
Romain Picard [Tue, 15 Mar 2016 15:37:33 +0000 (16:37 +0100)]
typefind: Allow caps query in "have-type" signal handlers
If an application calls gst_pad_query_caps from its "have-type" signal handler,
then the query fails because typefind->caps has not been set yet.
This patch sets typefind->caps in the object method handler, before the signal
handlers are called.
https://bugzilla.gnome.org/show_bug.cgi?id=763491
Sebastian Dröge [Tue, 15 Mar 2016 09:56:10 +0000 (11:56 +0200)]
Release 1.7.91
Sebastian Dröge [Tue, 15 Mar 2016 09:44:03 +0000 (11:44 +0200)]
Update .po files
Sebastian Dröge [Tue, 15 Mar 2016 09:39:42 +0000 (11:39 +0200)]
po: Update translations
Sebastian Dröge [Fri, 11 Mar 2016 12:17:13 +0000 (14:17 +0200)]
typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler
https://bugzilla.gnome.org/show_bug.cgi?id=763491
Sebastian Dröge [Sun, 13 Mar 2016 08:33:53 +0000 (10:33 +0200)]
baseparse: Recheck after pre_push_frame() if there are tags pending
Many parsers are storing tags only in pre_push_frame(), if we wouldn't check
afterwards we would push buffers before those tags and a lot of code assumes that
tags are available before preroll.
https://bugzilla.gnome.org/show_bug.cgi?id=763553
Carlos Rafael Giani [Mon, 14 Mar 2016 10:15:07 +0000 (11:15 +0100)]
concat: Fix comment typo
Sebastian Dröge [Sat, 12 Mar 2016 10:56:28 +0000 (12:56 +0200)]
Revert "typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler"
This reverts commit
0835c3d6569dde0ec9e5524436367c7678cc4a4a.
It causes deadlocks in decodebin, which currently would deadlock if the caps
are already on the pad in have-type and are forwarded while copying the sticky
events (while holding the decodebin lock)... as that might cause the next
element to expose pads, which then calls back into decodebin and takes the
decodebin lock.
This needs some more thoughts.
Sebastian Dröge [Fri, 11 Mar 2016 12:17:13 +0000 (14:17 +0200)]
typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler
https://bugzilla.gnome.org/show_bug.cgi?id=763491
Carlos Rafael Giani [Thu, 10 Mar 2016 09:35:40 +0000 (10:35 +0100)]
docs: Flesh out element and object macro accessor docs a bit
https://bugzilla.gnome.org/show_bug.cgi?id=763213
Sebastian Dröge [Wed, 9 Mar 2016 14:06:58 +0000 (16:06 +0200)]
netclientclock: Remove some obsolete code that can cause warnings
Sebastian Dröge [Wed, 9 Mar 2016 11:44:24 +0000 (13:44 +0200)]
netclientclock: Don't reset calibration of internal clock whenever a new netclient clock is created
https://bugzilla.gnome.org/show_bug.cgi?id=763325
Víctor Manuel Jáquez Leal [Fri, 4 Mar 2016 17:23:18 +0000 (18:23 +0100)]
gstbuffer: fix GstParentBufferMeta GType name
The alias define GST_TYPE_PARENT_BUFFER_META_API_TYPE is wrong and
breaks the usage of gst_buffer_get_parent_buffer_meta().
This patch fixes the GType alias and make another alias to keep the API
compatibility guarded by GST_DISABLE_DEPRECATED.
Also added a unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=763112
Sebastian Dröge [Wed, 2 Mar 2016 08:37:09 +0000 (10:37 +0200)]
tracerrecord: Remove useless NULL check and add assertion for making assumptions explicit
gst_structure_new_empty() is not returning NULL in any valid scenarios,
checking for NULL here is useless. Especially because we would dereference any
NULL right after the NULL check again.
CID 1352037.
We previously check if the string ends on .class, as such strrchr() should
return something non-NULL. Add an assertion for that.
CID 1349642.
Tim-Philipp Müller [Tue, 1 Mar 2016 19:50:26 +0000 (19:50 +0000)]
element: minor docs fix
Make gtk-doc happy.
Sebastian Dröge [Tue, 1 Mar 2016 16:14:03 +0000 (18:14 +0200)]
Release 1.7.90
Sebastian Dröge [Tue, 1 Mar 2016 14:52:41 +0000 (16:52 +0200)]
po: Update translations
Sebastian Dröge [Mon, 29 Feb 2016 21:33:03 +0000 (23:33 +0200)]
Revert "bus: change GstBusSource to hold a weak ref to GstBus"
This reverts commit
894c67e642c0f858b5b18097fa7c995bf3cc50c1.
Sebastian Dröge [Mon, 29 Feb 2016 21:32:58 +0000 (23:32 +0200)]
Revert "bus: Make sure to remove the GPollFD from the GSources when destroying the bus"
This reverts commit
05700a7082c145057ccc0be763067bcc263239eb.
Sebastian Dröge [Mon, 29 Feb 2016 15:06:36 +0000 (17:06 +0200)]
element: Remove GST_STATE_LOCK_FULL() / UNLOCK_FULL()
There is no corresponding API for that in GLib and nobody could've ever used
these macros without compiler errors anyway.
Sebastian Dröge [Mon, 29 Feb 2016 08:01:50 +0000 (10:01 +0200)]
bus: Make sure to remove the GPollFD from the GSources when destroying the bus
Otherwise the GSource can look into our already destroyed bus where the
GPollFD is stored.
https://bugzilla.gnome.org/show_bug.cgi?id=762849
Vineeth TM [Mon, 29 Feb 2016 02:06:50 +0000 (11:06 +0900)]
tests: ghostpad: Fix memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=762845
Tim-Philipp Müller [Sun, 28 Feb 2016 13:59:48 +0000 (13:59 +0000)]
taglist: add guard to check writability when removing tags from a taglist
https://bugzilla.gnome.org/show_bug.cgi?id=762793
Tim-Philipp Müller [Sat, 27 Feb 2016 15:36:28 +0000 (15:36 +0000)]
elements: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=762778
Tim-Philipp Müller [Sat, 27 Feb 2016 15:28:49 +0000 (15:28 +0000)]
element: add gst_element_class_add_static_pad_template()
Pretty much every single element does
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&some_templ));
which is both confusing and unnecessary. We might just
as well add a function to do that in one step.
https://bugzilla.gnome.org/show_bug.cgi?id=762778
Tim-Philipp Müller [Sat, 27 Feb 2016 15:32:19 +0000 (15:32 +0000)]
typefind: fix indentation
Sebastian Dröge [Fri, 26 Feb 2016 10:40:55 +0000 (12:40 +0200)]
Automatic update of common submodule
From b64f03f to 6f2d209
James Stevenson [Thu, 25 Feb 2016 22:36:14 +0000 (22:36 +0000)]
bus: Prevent gst_bus_add_watch_full_unlocked from a segfault if priv->poll == NULL
This happens if the process runs out of file descriptors. Better print
a critical warning instead of just crashing.
https://bugzilla.gnome.org/show_bug.cgi?id=762702
Thiago Santos [Wed, 24 Feb 2016 13:56:24 +0000 (10:56 -0300)]
bus: change GstBusSource to hold a weak ref to GstBus
When holding a regular ref it will cause the GstBus to never
reach 0 references and it won't be destroyed unless the application
explicitly calls gst_bus_remove_signal_watch().
Switching to weakref will allow the GstBus to be destroyed.
The application is still responsible for destroying the
GSource.
https://bugzilla.gnome.org/show_bug.cgi?id=762552