Thibault Saunier [Mon, 26 Sep 2016 21:21:19 +0000 (18:21 -0300)]
meson: Build tracers
Thibault Saunier [Fri, 23 Sep 2016 23:40:39 +0000 (20:40 -0300)]
meson: Fix gtkdoc using new meson features
Tim-Philipp Müller [Mon, 26 Sep 2016 11:14:14 +0000 (12:14 +0100)]
tests: remove unused valgrind stuff
Code was also checking the wrong define anyway.
Tim-Philipp Müller [Mon, 26 Sep 2016 11:12:12 +0000 (12:12 +0100)]
tests: parse-launch: looks clean nowadays, so re-enable for valgrind
Also, the valgrind bits weren't hooked up properly anyway,
checking the wrong define.
Tim-Philipp Müller [Sat, 24 Sep 2016 17:22:26 +0000 (18:22 +0100)]
meson: remove incorrect and unneeded check for ptrdiff_t
Need to include stddef.h for it, so this would've worked:
if cc.has_type('ptrdiff_t', prefix: '#include <stddef.h>')
Tim-Philipp Müller [Sat, 24 Sep 2016 17:06:31 +0000 (18:06 +0100)]
meson: fix internal printf for %ll format modifier on 32-bit systems
gst/gstprintf unit test would fail on 32-bit x86 with:
gstprintf.c:83:printf_I32_I64:0: 'str' (64-bit x value =
b5a6978f) is not equal to '"64-bit x value =
f1e2d3c4b5a6978f"'
Nirbheek Chauhan [Thu, 22 Sep 2016 22:49:47 +0000 (04:19 +0530)]
Revert "meson: Force gstenum_h to be built when using gst_dep"
This reverts commit
cfc565e2d88a8e7d656b68c5c2a1b7acb08cdb7f.
The commit was redundant since gst_gen_sources already contains
gstenum_h. We're still investigating why some people are still seeing
a racy build failure.
Nirbheek Chauhan [Thu, 22 Sep 2016 18:58:53 +0000 (00:28 +0530)]
meson: Force gstenum_h to be built when using gst_dep
This forces gstenumtypes.h to be built whenever something uses gst_dep
as a subproject dependency. This is needed since gst/gst.h includes
gstenumtypes.h
Closes https://github.com/mesonbuild/meson/issues/714 which is not
actually a Meson bug.
Sebastian Dröge [Mon, 19 Sep 2016 14:07:51 +0000 (10:07 -0400)]
bin: Add forgotten "git commit --amend" for last commit
Need to cast away the const as g_queue_foreach() takes a non-const GQueue*
Kouhei Sutou [Mon, 19 Sep 2016 14:04:55 +0000 (10:04 -0400)]
bin: When copying the sort iterator, also copy its internal queue
Otherwise both iterators share the same references, the second one
usually resulting in a crash when being freed.
https://bugzilla.gnome.org/show_bug.cgi?id=771649
Carlos Rafael Giani [Sun, 11 Sep 2016 13:28:43 +0000 (15:28 +0200)]
queue2: Fix watermark test
This carries over code for a similar test from multiqueue to ensure full
control over the dataflow while testing. (The previous attempt was racy
since the fill level changed without any thread sync with the test code.)
https://bugzilla.gnome.org/show_bug.cgi?id=771210
Carlos Rafael Giani [Sun, 11 Sep 2016 13:26:26 +0000 (15:26 +0200)]
queue2: Update buffering if its enabled and low/high watermarks are changed
https://bugzilla.gnome.org/show_bug.cgi?id=771210
Arun Raghavan [Thu, 15 Sep 2016 12:08:49 +0000 (17:38 +0530)]
message: Fix documentation for gst_message_new_duration()
Seems like there was some documentation left over from when this was
gst_message_new_duration().
Sebastian Dröge [Mon, 12 Sep 2016 15:41:16 +0000 (17:41 +0200)]
basesink: Remove unused fields and always use the buffer timestamp difference for calculating the QoS proportion
The buffer timestamps are only hints and more often than not have
nothing to do with reality.
https://bugzilla.gnome.org/show_bug.cgi?id=771306
Nirbheek Chauhan [Thu, 8 Sep 2016 07:28:54 +0000 (12:58 +0530)]
gstconfig: Use __declspec when built with MinGW and linking with MSVC
Earlier we were only using __declspec(dllexport/import) when we were
built with MSVC because when built with MinGW and linking with MinGW we
don't need it (and we get linker errors because of it).
However, when we're built with MinGW and someone wants to link to us
with MSVC, we still need the prototypes to have __declspec(dllimport)
since MSVC cannot do auto-import like GCC can.
https://bugzilla.gnome.org/show_bug.cgi?id=771029
Sebastian Dröge [Mon, 12 Sep 2016 15:07:09 +0000 (17:07 +0200)]
bin: Also don't *unset* element flags if they're in the suppressed flags
Otherwise our bin might lose various flags that were explicitly set on
it at arbitrary times.
Thiago Santos [Sat, 10 Sep 2016 14:59:11 +0000 (11:59 -0300)]
tests: gstbin: add tests for suppressed flags
Some simple tests to make sure it keeps working
Wonchul Lee [Fri, 2 Sep 2016 08:39:17 +0000 (17:39 +0900)]
bin: Add setter and getter to suppress element flags
Suppress-flags is for preventing propagation of child element's specific
flag when it is added to the bin.
https://bugzilla.gnome.org/show_bug.cgi?id=770627
Jan Schmidt [Sat, 10 Sep 2016 10:50:48 +0000 (20:50 +1000)]
Automatic update of common submodule
From b18d820 to f980fd9
Graham Leggett [Fri, 13 Nov 2015 16:00:02 +0000 (16:00 +0000)]
gst: Ensure gst_value is initialised before gst_tag
Otherwise GST_TYPE_FRACTION will work correctly in tags.
https://bugzilla.gnome.org/show_bug.cgi?id=753922
Sebastian Dröge [Fri, 9 Sep 2016 08:46:11 +0000 (11:46 +0300)]
element: Reset the stop position to NONE in seek_simple()
When using seek_simple() in combination with other kinds of seeks, this
becomes problematic. seek_simple() does not reset the stop position to
GST_CLOCK_TIME_NONE but keeps whatever a previous seek did. So for example
when doing a seek_simple() after a rate=-1 seek, we would usually get
assertions that start>stop (and stop being the old stop from the rate=1 seek).
https://bugzilla.gnome.org/show_bug.cgi?id=771104
Jan Schmidt [Fri, 9 Sep 2016 23:53:42 +0000 (09:53 +1000)]
Automatic update of common submodule
From f49c55e to b18d820
Thibault Saunier [Fri, 9 Sep 2016 12:36:40 +0000 (09:36 -0300)]
meson:tests: Bump timeout to 3 minutes
Basically we already have each test with a 20sec timeout,
and testsuite can last more than the default 30secs from
meson. 3 minutes is another arbitrary timeout but should
be good enough.
Sebastian Dröge [Thu, 8 Sep 2016 12:19:38 +0000 (15:19 +0300)]
basesink: Use the average durations based on timestamps for the QoS proportion when doing trickmodes
The durations of the buffers are (usually) assuming that no frames are being
dropped and are just the durations coming from the stream. However if we do
trickmodes, frames are being dropped regularly especially if only key units
are supposed to be played.
Fixes completely bogus QoS proportion values in the above case.
Thibault Saunier [Mon, 5 Sep 2016 21:07:49 +0000 (18:07 -0300)]
meson: Fix building with meson 0.34
Thibault Saunier [Fri, 26 Aug 2016 23:06:59 +0000 (20:06 -0300)]
meson: Allow others to build GIR files when using GStreamer as subproject
And add a way to disable the introspection and bump version to 1.9.2
Sebastian Dröge [Mon, 5 Sep 2016 08:11:29 +0000 (11:11 +0300)]
gstconfig.h.in: Add another version of the SH4 #define and S390x
https://bugzilla.gnome.org/show_bug.cgi?id=770731
Wim Taymans [Mon, 5 Sep 2016 07:50:17 +0000 (09:50 +0200)]
config: newer gcc doesn't know __ppc__ and __ppc64__ anymore
__ppc__ and __ppc64__ are non-standard defines, we should use
__powerpc__ and __powerpc64__ instead because newer gcc doesn't know
them anymore.
Tim-Philipp Müller [Sun, 4 Sep 2016 19:39:31 +0000 (20:39 +0100)]
tools: gst-inspect: add * for pointer signal arguments where needed
Print GObject argument properly with pointer marker:
"client-added" : void user_function (GstElement* object,
GObject* arg0,
gpointer user_data);
instead of
"client-added" : void user_function (GstElement* object,
GObject arg0,
gpointer user_data);
for gst-inspect-1.0 tcpserversink.
Tim-Philipp Müller [Fri, 2 Sep 2016 22:22:17 +0000 (23:22 +0100)]
tests: don't build misc subdir if both examples and benchmarks have been disabled
https://bugzilla.gnome.org/show_bug.cgi?id=770740
Wim Taymans [Thu, 1 Sep 2016 12:13:40 +0000 (14:13 +0200)]
config: support System z
Sebastian Dröge [Thu, 1 Sep 2016 09:25:23 +0000 (12:25 +0300)]
Back to development
Sebastian Dröge [Thu, 1 Sep 2016 09:24:45 +0000 (12:24 +0300)]
Release 1.9.2
Sebastian Dröge [Thu, 1 Sep 2016 08:22:45 +0000 (11:22 +0300)]
po: Update translations
Carlos Rafael Giani [Wed, 31 Aug 2016 07:49:03 +0000 (09:49 +0200)]
multiqueue: Add higher-resolution low/high-watermark properties
low/high-watermark are of type double, and given in range 0.0-1.0. This
makes it possible to set low/high watermarks with greater resolution,
which is useful with large multiqueue max sizes and watermarks like 0.5%.
Also adding a test to check the fill and watermark level behavior.
https://bugzilla.gnome.org/show_bug.cgi?id=770628
Carlos Rafael Giani [Wed, 31 Aug 2016 07:48:53 +0000 (09:48 +0200)]
multiqueue: Distinguish between buffering percentage and buffering level
To make the code clearer, and to facilitate future improvements, introduce
a distinction between the buffering level and the buffering percentage.
Buffering level: the queue's current fill level. The low/high watermarks
are in this range.
Buffering percentage: percentage relative to the low/high watermarks
(0% = low watermark, 100% = high watermark).
To that end, get_percentage() is renamed to get_buffering_level(). Also,
low/high_percent are renamed to low/high_watermark to avoid confusion.
mq->buffering_percent values are now normalized in the 0..100 range for
buffering messages inside update_buffering(), and not just before sending
the buffering message. Finally the buffering level range is parameterized
by adding a new constant called MAX_BUFFERING_LEVEL.
https://bugzilla.gnome.org/show_bug.cgi?id=770628
Carlos Rafael Giani [Wed, 31 Aug 2016 07:48:38 +0000 (09:48 +0200)]
multiqueue: Rename percent/percent_changed to buffering_percent(_changed)
This is a prerequisite for subsequent commits, and makes queue2 and
multiqueue code a little more consistent.
https://bugzilla.gnome.org/show_bug.cgi?id=770628
Edward Hervey [Tue, 23 Aug 2016 05:57:33 +0000 (14:57 +0900)]
multiqueue: Fix high_time wakeup logic
When calculating the high_time, cache the group value in each singlequeue.
This fixes the issue by which wake_up_next_non_linked() would use the global
high-time to decide whether to wake-up a waiting thread, instead of the group
one, resulting in those threads constantly spinning.
Tidy up a bit the waiting logic while we're at it.
With this patch, we go from 212% playing a 8 audio / 8 video file down to less
than 10% (most of it being the video decoding).
https://bugzilla.gnome.org/show_bug.cgi?id=770225
Tim-Philipp Müller [Sun, 28 Aug 2016 15:02:14 +0000 (16:02 +0100)]
tools: gst-inspect: don't print internal pad request function name
This just confuses people, they look at it and try to call it
directly by name, instead of using the public GstElement API.
It stands to reason that it goes without saying that when an
element provides request pads that they can actually be
requested using the standard API, and there's no point in
printing internal implementation details of the element.
Thibault Saunier [Tue, 23 Aug 2016 16:27:58 +0000 (13:27 -0300)]
Make use of the new GST_ELEMENT_FLOW_ERROR API all around.
https://bugzilla.gnome.org/show_bug.cgi?id=770158
Thibault Saunier [Tue, 23 Aug 2016 16:27:20 +0000 (13:27 -0300)]
element: Add API to more easily post messages about flowing issues
In many parts of the code we raise streaming error when the flow
goes wrong, and each time we create more or less similare error
message. Also that message does not let the application know what
has actually gone wrong. In the new API we add a "flow-return" detail
field inside the GstMessage so that the application has all the information
if it needs it.
API:
GST_ELEMENT_FLOW_ERROR
https://bugzilla.gnome.org/show_bug.cgi?id=770158
Nirbheek Chauhan [Fri, 26 Aug 2016 13:57:22 +0000 (19:27 +0530)]
gstconfig: Decide GST_EXPORT declaration style at build time
We only use GST_EXPORT consistently when building with MSVC by using the
visual studio definitions files (win32/common/*.def), so always disable
it when building with Autotools and only enable it with Meson when
building with MSVC.
This allows you to use MinGW to link to a GStreamer built with MSVC and
get the correct function prototypes to find functions and variables in
DLLs.
Wonchul Lee [Fri, 26 Aug 2016 07:21:30 +0000 (16:21 +0900)]
docs: fix typo in stream selection docs
https://bugzilla.gnome.org//show_bug.cgi?id=770428
Tim-Philipp Müller [Fri, 26 Aug 2016 11:55:04 +0000 (12:55 +0100)]
element: rename gst_element_message_new_details() to gst_make_element_message_details()
Fixes g-i warning "Gst: Constructor return type mismatch
symbol='gst_element_message_new_details' constructed='Gst.Element'
return='Gst.Structure'".
This is a newly-added function in git that has not been in a stable
release yet, so it's fine to rename it. It's also only used indirectly
via macros.
Tim-Philipp Müller [Fri, 26 Aug 2016 11:35:23 +0000 (12:35 +0100)]
docs: fix various gtk-doc warnings
e.g. "warning: multi-line since docs found"
Tim-Philipp Müller [Fri, 26 Aug 2016 11:04:33 +0000 (12:04 +0100)]
g-i: info: allow passing NULL to gst_debug_remove_log_function()
Useful for removing the default handler from bindings.
Thibault Saunier [Thu, 25 Aug 2016 18:04:06 +0000 (15:04 -0300)]
meson: doc: Fix building documentation when using subprojects
and check the presence of gtk-doc before building the documentation
Jan Schmidt [Thu, 25 Aug 2016 17:17:41 +0000 (03:17 +1000)]
value: Implement can_intersect for GstFlagSet types
Make sure that gst_value_can_intersect returns TRUE
for GstFlagSet combinations that can successfully
intersect
Carlos Rafael Giani [Wed, 3 Aug 2016 13:20:20 +0000 (15:20 +0200)]
queue2: Add higher-resolution low/high-watermark properties
low/high-watermark are of type double, and given in range 0.0-1.0. This
makes it possible to set low/high watermarks with greater resolution,
which is useful with large queue2 max sizes and watermarks like 0.5%.
Also adding a test to check the fill and watermark level behavior.
https://bugzilla.gnome.org/show_bug.cgi?id=769449
Carlos Rafael Giani [Wed, 3 Aug 2016 13:27:40 +0000 (15:27 +0200)]
queue2: Distinguish between buffering percentage and buffering level
To make the code clearer, and to facilitate future improvements, introduce
a distinction between the buffering level and the buffering percentage.
Buffering level: the queue's current fill level. The low/high watermarks
are in this range.
Buffering percentage: percentage relative to the low/high watermarks
(0% = low watermark, 100% = high watermark).
To that end, get_buffering_percent() is renamed to get_buffering_level(),
and the code at the end that transforms to the buffering percentage is
factored out into a new convert_to_buffering_percent() function. Also,
the buffering level range is parameterized by adding a new constant called
MAX_BUFFERING_LEVEL.
https://bugzilla.gnome.org/show_bug.cgi?id=769449
Tim-Philipp Müller [Tue, 23 Aug 2016 09:52:32 +0000 (10:52 +0100)]
docs: release: add tag signing command
Arjen Veenhuizen [Thu, 7 Jul 2016 06:01:24 +0000 (08:01 +0200)]
buffer: add explicit getters and setters for buffer flags
These can be used from bindings.
https://bugzilla.gnome.org/show_bug.cgi?id=768301
Tim-Philipp Müller [Sun, 21 Aug 2016 23:01:46 +0000 (00:01 +0100)]
meson: install libgstcheck-1.0 and add api version to name
Hoonhee Lee [Fri, 19 Aug 2016 23:54:27 +0000 (08:54 +0900)]
streams: update and emit notify signal only if taglist actually changed
https://bugzilla.gnome.org/show_bug.cgi?id=770161
Nirbheek Chauhan [Fri, 12 Aug 2016 14:55:17 +0000 (20:25 +0530)]
Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson
With contributions from:
Tim-Philipp Müller <tim@centricular.com>
Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)
Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded
... and many more. For more details see:
http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
Tim-Philipp Müller [Sat, 13 Aug 2016 12:55:15 +0000 (13:55 +0100)]
Move gstconfig.h back to normal include dir
Now that it's arch-independent again. Will need fixes in cerbero too.
Nirbheek Chauhan [Tue, 21 Jun 2016 13:29:49 +0000 (18:59 +0530)]
gstconfig.h: Detect unaligned access support at compile-time
This makes gstconfig.h completely arch-independent. Should cover all
compilers that gstreamer is known to build on, and all architectures
that I could find information on. People are encouraged to file bugs if
their platform/arch is missing.
Tim-Philipp Müller [Sat, 13 Aug 2016 08:55:46 +0000 (09:55 +0100)]
Remove old alloc tracing code now that we have a GstTracer-based replacement
It's been internal API only in 1.x.
Edward Hervey [Fri, 12 Aug 2016 14:15:25 +0000 (16:15 +0200)]
queue2: Post buffering messages earlier in ringbuffer mode
In ringbuffer mode we need to make sure we post buffering messages *before*
blocking to wait for data to be drained.
Without this, we would end up in situations like this:
* pipeline is pre-rolling
* Downstream demuxer/decoder has pushed data to all sinks, and demuxer thread
is blocking downstream (i.e. not pulling from upstream/queue2).
* Therefore pipeline has pre-rolled ...
* ... but queue2 hasn't filled up yet, therefore the application waits for
the buffering 100% messages before setting the pipeline to PLAYING
* But queue2 can't post that message, since the 100% message will be posted
*after* there is room available for that last buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=769802
Josep Torra [Mon, 8 Aug 2016 14:42:06 +0000 (16:42 +0200)]
multiqueue: removed redundant call to g_thread_self
Remove an unneeded call to g_thread_self and minor coding style fix.
Jan Schmidt [Wed, 16 Mar 2016 07:00:15 +0000 (18:00 +1100)]
inputselector: Handle stream-group-done
Handle the new stream-group-done message to unblock pads which
are waiting for the running time to advance on that group.
https://bugzilla.gnome.org/show_bug.cgi?id=768995
Jan Schmidt [Mon, 14 Mar 2016 03:20:42 +0000 (14:20 +1100)]
events: Implement the stream-group-done event
A new event which precedes EOS in situations where we
need downstream to unblock any pads waiting on a stream
before we can send EOS. E.g, decodebin draining a chain
so it can switch pads.
https://bugzilla.gnome.org/show_bug.cgi?id=768995
Carlos Rafael Giani [Mon, 25 Jul 2016 09:22:36 +0000 (11:22 +0200)]
message: Add redirect message
Redirection messages are already used in fragmented sources and in
uridecodebin, so it makes sense to introduce these as an official message
type.
https://bugzilla.gnome.org/show_bug.cgi?id=631673
Jan Schmidt [Mon, 25 Jul 2016 09:15:15 +0000 (19:15 +1000)]
inputselector: Wake other pads when selected goes EOS
Other pads that are waiting for the stream on the selected
pad to advance before they finish waiting themselves
should be given the chance to do so when the selected pad
goes EOS. Fixes problems where input streams can end up
waiting forever if the active stream goes EOS earlier than
their own end time.
Tim-Philipp Müller [Sun, 24 Jul 2016 00:35:41 +0000 (01:35 +0100)]
element: fix GST_ELEMENT_ERROR() error code expansion
In some corner cases, the error 'code' part passed to
GST_ELEMENT_ERROR() is a valid define as well, in which
case it won't survive two levels of macro expansion, but
only one. Fixes:
oss4-sink.c: In function ‘gst_oss4_sink_open’:
error: ‘GST_RESOURCE_ERROR_0x00000002’ undeclared (first use in this function)
GST_ ## domain ## _ERROR_ ## code, __txt, __dbg, __FILE__,
which is from GST_ELEMENT_ERROR(el,RESOURCE,OPEN_WRITE,..)
and OPEN_WRITE happens to be defined to 2 here.
https://bugzilla.gnome.org/show_bug.cgi?id=756806
https://bugzilla.gnome.org/show_bug.cgi?id=769117
Tim-Philipp Müller [Fri, 22 Jul 2016 16:32:33 +0000 (17:32 +0100)]
message: fix some nonsensical annotations
Vincent Penquerc'h [Fri, 22 Jul 2016 14:25:09 +0000 (15:25 +0100)]
docs: add GST_ELEMENT_*_WITH_DETAILS to doc list
Vincent Penquerc'h [Fri, 22 Jul 2016 14:04:58 +0000 (15:04 +0100)]
docs: list new message details apis where they seem to belong
Vincent Penquerc'h [Fri, 22 Jul 2016 13:59:56 +0000 (14:59 +0100)]
libgstreamer.def: fix mentions of new message details api
I had not updated it after the review changes
Vincent Penquerc'h [Wed, 2 Mar 2016 11:22:23 +0000 (11:22 +0000)]
message: new API for additional custom data to error messages
https://bugzilla.gnome.org/show_bug.cgi?id=756806
Guillaume Desmottes [Wed, 20 Jul 2016 10:22:10 +0000 (12:22 +0200)]
tracers: leaks: update type filter later for unknown types
This allow us to filter using an object type which is implemented
by a plugin like, say, GstGtkGLSink.
https://bugzilla.gnome.org/show_bug.cgi?id=768989
Aurélien Zanelli [Tue, 19 Jul 2016 12:45:53 +0000 (14:45 +0200)]
collectpads: add g-i transfer annotations to peek/pop/read_buffer/take_buffer functions
https://bugzilla.gnome.org/show_bug.cgi?id=768948
Jan Schmidt [Tue, 19 Jul 2016 13:18:24 +0000 (23:18 +1000)]
tests: Use gst_clock_wait_for_sync () for net client clock
Instead of looping, use the gst_clock_wait_for_sync() function
to give clocks up to 1 second to synchronise
Guillaume Desmottes [Wed, 13 Jul 2016 13:43:21 +0000 (15:43 +0200)]
message: fix annotation of parse_stream_{collection,streams_selected}
gst_structure_id_get() returns a new reference so the returned object is
actually (transfer full).
The unit tests was already unreffing the objects.
https://bugzilla.gnome.org/show_bug.cgi?id=768776
Guillaume Desmottes [Wed, 13 Jul 2016 13:43:21 +0000 (15:43 +0200)]
message: fix annotation of parse_device_{added,removed}
gst_structure_id_get() returns a new reference so the returned device is
actually (transfer full).
The code using this API was already correct but the code example in
comments was not.
https://bugzilla.gnome.org/show_bug.cgi?id=768776
Guillaume Desmottes [Thu, 14 Jul 2016 14:40:22 +0000 (16:40 +0200)]
pad: add g-i transfer annotatation to _store_sticky_event()
For clarity.
https://bugzilla.gnome.org/show_bug.cgi?id=768810
Sebastian Dröge [Tue, 12 Jul 2016 09:32:56 +0000 (12:32 +0300)]
basesrc: Fix automatic-eos=false mode if a segment.stop is given
If segment.stop was given, and the subclass provides a size that might be
smaller than segment.stop and also smaller than the actual size, we would
already stop there.
Instead try reading up to segment.stop, the goal is to ignore the (possibly
inaccurate) size the subclass gives and finish until segment.stop or when the
subclass tells us to stop.
Stefan Sauer [Mon, 11 Jul 2016 19:13:28 +0000 (21:13 +0200)]
Automatic update of common submodule
From f363b32 to f49c55e
Nirbheek Chauhan [Mon, 11 Jul 2016 13:15:49 +0000 (18:45 +0530)]
benchmarks: Fix potential stack corruption in capsnego test
flavour_str is a non-const pointer that will be written to if the -f
option is passed
Guillaume Desmottes [Mon, 11 Jul 2016 09:34:02 +0000 (11:34 +0200)]
leaks: check return values of libunwind calls
Edward Hervey [Mon, 11 Jul 2016 07:58:47 +0000 (09:58 +0200)]
queue2: Fix average input rate calculation on small input range
When dealing with small-ish input data coming into queue2, such as
adaptivedemux fragments, we would never take into account the last
<200ms of data coming in.
The problem is that usually on TCP connection the download rate
gradually increases (i.e. the rate is lower at the beginning of a
download than it is later on). Combined with small download time (less
than a second) we would end up with a computed average input rate
which was sometimes up to 30-50% off from the *actual* average input
rate for that fragment.
In order to fix this, force the average input rate calculation when
we receive an EOS so that we take into account that final window
of data.
https://bugzilla.gnome.org/show_bug.cgi?id=768649
Guillaume Desmottes [Fri, 8 Jul 2016 14:31:56 +0000 (16:31 +0200)]
miniobject: weak_unref: display the pointer of the object if failing
That's generally the most useful information to help debugging the
problem.
https://bugzilla.gnome.org/show_bug.cgi?id=768579
Guillaume Desmottes [Fri, 8 Jul 2016 14:29:38 +0000 (16:29 +0200)]
bin: properly display the type of the removed message
Makes debugging easier.
https://bugzilla.gnome.org/show_bug.cgi?id=768579
Tim-Philipp Müller [Fri, 8 Jul 2016 16:46:06 +0000 (17:46 +0100)]
element: re-create threadpool after cleaning up tasks
We don't free this from gst_deinit() but from gst_task_cleanup_all(),
so more GStreamer API may be called. In particular makes unit tests
work again with CK_FORK=no.
https://bugzilla.gnome.org/show_bug.cgi?id=768577
Guillaume Desmottes [Fri, 8 Jul 2016 14:53:51 +0000 (16:53 +0200)]
leaks: warn if object is destroyed while the tracer is disposing
This should not happen and generally means some thread is still running.
https://bugzilla.gnome.org/show_bug.cgi?id=768578
Guillaume Desmottes [Fri, 8 Jul 2016 14:36:01 +0000 (16:36 +0200)]
element: clean up thread pool from gst_task_cleanup_all()
This ensures that all async operations (started from gst_element_call_async())
have been completed and so there is no extra thread running.
Fix races when checking for leaks on unit tests as some of those
operations were still running when the leaks tracer was checking for
leaked objects.
https://bugzilla.gnome.org/show_bug.cgi?id=768577
Guillaume Desmottes [Fri, 8 Jul 2016 09:15:06 +0000 (11:15 +0200)]
leaks tracer: use G_OS_UNIX to check for signal support
Checking for signal.h is not good enough as it's present in Windows.
Those signals are UNIX specific anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=767857
Guillaume Desmottes [Wed, 22 Jun 2016 14:25:16 +0000 (16:25 +0200)]
leaks tracer: add creation stack trace support
This allow us to provide the trace of leaked objects making it easier
to debug.
https://bugzilla.gnome.org/show_bug.cgi?id=767862
Guillaume Desmottes [Wed, 1 Jun 2016 09:08:39 +0000 (11:08 +0200)]
leaks tracer: add checkpoint support using SIGUSR2
https://bugzilla.gnome.org/show_bug.cgi?id=767857
Guillaume Desmottes [Tue, 31 May 2016 14:56:26 +0000 (16:56 +0200)]
leaks tracer: log alive objects when receiving SIGUSR1
We don't want to automatically catch signals so use an env variable to
enable this feature.
https://bugzilla.gnome.org/show_bug.cgi?id=767857
Sebastian Dröge [Thu, 7 Jul 2016 10:15:51 +0000 (13:15 +0300)]
funnel: Only forward sticky events on GAP events if needed
That is, if the active pad changed and if forwarding of sticky events is
requested at all. We otherwise forward events too often.
Miguel París Díaz [Tue, 5 Jul 2016 14:50:16 +0000 (16:50 +0200)]
pad: check query caps answered and caps not NULL
https://bugzilla.gnome.org/show_bug.cgi?id=768450
Sebastian Dröge [Wed, 6 Jul 2016 10:50:56 +0000 (13:50 +0300)]
Back to development
Sebastian Dröge [Wed, 6 Jul 2016 10:05:02 +0000 (13:05 +0300)]
Release 1.9.1
Sebastian Dröge [Wed, 6 Jul 2016 08:37:56 +0000 (11:37 +0300)]
Update .po files
Sebastian Dröge [Wed, 6 Jul 2016 07:17:37 +0000 (10:17 +0300)]
po: Update translations
Jan Alexander Steffens (heftig) [Tue, 5 Jul 2016 10:17:18 +0000 (12:17 +0200)]
baseparse: Don't add calculated bitrates until threshold
Waiting before posting calculated bitrates seems to be the
intent of the code, so avoid adding them to the tag list
pushed with the first frame.
When the threshold is reached, gst_base_parse_update_bitrates
sets tags_changed, so this posts the calculated ones right
that moment.
This prevents an insane average calculated from just the
first (key) frame from getting posted.
https://bugzilla.gnome.org/show_bug.cgi?id=768439
Sebastian Dröge [Mon, 4 Jul 2016 08:00:38 +0000 (10:00 +0200)]
baseparse: Make sure to not create an invalid event order when generating the default CAPS event because of a GAP event
There must be a SEGMENT event before the GAP event, and SEGMENT events must
come after any CAPS event. We however did not produce any CAPS yet, so we need
to ensure to insert the CAPS event before the SEGMENT event into the pending
events list.
https://bugzilla.gnome.org/show_bug.cgi?id=766970
Jan Schmidt [Fri, 1 Jul 2016 12:34:59 +0000 (22:34 +1000)]
gstinfo: Avoid gcc 6 warning that breaks the tests build
gcc 6 has problems detecting and avoiding throwing
a warning for tautological compares in macros (they
should only trigger for compares outside macros).
Avoid them with a nasty cast of one parameter to void *
https://bugzilla.gnome.org/show_bug.cgi?id=764526
Edward Hervey [Fri, 1 Jul 2016 07:44:12 +0000 (09:44 +0200)]
multiqueue: Fix behaviour with not-linked and eos pads
This is an update on
c9b6848885f4675d447e823c8fb117e247658252
multiqueue: Fix not-linked pad handling at EOS
While that commit did fix the behaviour if upstream sent a GST_EVENT_EOS,
it would break the same issue when *downstream* returns GST_FLOW_EOS
(which can happen for example when downstream decoders receive data
from after the segment stop).
GST_PAD_IS_EOS() is only TRUE when a GST_EVENT_EOS has flown through it
and not when a GST_EVENT_EOS has gone through it.
In order to handle both cases, also take into account the last flow
return.
https://bugzilla.gnome.org/show_bug.cgi?id=763770