Stian Selnes [Wed, 11 Nov 2015 15:43:40 +0000 (16:43 +0100)]
gstvalue: Make GValueArray serializable
For instance very useful for logging GValueArray with GST_PTR_FORMAT
https://bugzilla.gnome.org/show_bug.cgi?id=761918
Wonchul Lee [Fri, 29 Apr 2016 07:26:49 +0000 (16:26 +0900)]
element: Allow multiple conversion specifiers for request pads
This allows pad template names like "src_%u_%u", but it does not allow
multiple specifiers of string type %s as that would lead to ambiguities.
https://bugzilla.gnome.org/show_bug.cgi?id=761225
Thiago Santos [Thu, 5 Nov 2015 20:13:25 +0000 (17:13 -0300)]
pad: add no-reconfigure link check
Enable it to prevent sending reconfigure when linking elements.
Useful for autoplugging when we know caps or bufferpools shouldn't change
to save doing caps renegotiation to end up with the same final scenario.
The no-reconfigure is not a proper check, it is a flag. It is implemented
as a GstPadLinkCheck to avoid creating another gst_pad_link variant.
https://bugzilla.gnome.org/show_bug.cgi?id=757653
Tim-Philipp Müller [Tue, 1 Nov 2016 18:08:18 +0000 (18:08 +0000)]
meson: update version
Tim-Philipp Müller [Tue, 1 Nov 2016 17:35:18 +0000 (17:35 +0000)]
docs: remove app dev manual and plugin writer's guide
They have moved to gst-docs and will be maintained there in future.
Sebastian Dröge [Tue, 1 Nov 2016 16:53:15 +0000 (18:53 +0200)]
Back to development
Sebastian Dröge [Tue, 1 Nov 2016 15:50:24 +0000 (17:50 +0200)]
Release 1.10.0
Sebastian Dröge [Tue, 1 Nov 2016 15:40:11 +0000 (17:40 +0200)]
Update .po files
Sebastian Dröge [Tue, 1 Nov 2016 15:38:43 +0000 (17:38 +0200)]
po: Update translations
Sebastian Dröge [Tue, 1 Nov 2016 15:36:02 +0000 (17:36 +0200)]
Update .po files
Nirbheek Chauhan [Tue, 25 Oct 2016 06:51:07 +0000 (12:21 +0530)]
meson: Add an option to explicitly disable gtk-doc
Similar to how Autotools provides an option, default is 'enabled'.
Nicolas Dufresne [Mon, 24 Oct 2016 15:45:38 +0000 (11:45 -0400)]
Revert "collectpads: Assume PTS is equal DTS if PTS is missing"
This reverts commit
9b0d42ceecb3198399d7e05e3d5f080a7ca27ca9.
https://bugzilla.gnome.org/show_bug.cgi?id=762207
Nicolas Dufresne [Tue, 18 Oct 2016 15:59:25 +0000 (11:59 -0400)]
allocator: Mark registered allocator for leak
Andrew Eikum [Tue, 21 Jun 2016 13:00:30 +0000 (08:00 -0500)]
gstmessage.h: Avoid gcc bit shift overflow compiler warning
Avoids bit shift overflow warning with gcc6.
https://bugzilla.gnome.org/show_bug.cgi?id=767882 (glib)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71803 (gcc)
https://bugzilla.gnome.org/show_bug.cgi?id=767883
Tim-Philipp Müller [Sun, 23 Oct 2016 21:11:08 +0000 (22:11 +0100)]
parse: fix erroneous use of _("")
Fixes xgettext warnings when doing 'make update-po':
gst/parse/grammar.y:217: warning: Empty msgid. It is reserved by GNU gettext:
gettext("") returns the header entry with
meta information, not the empty string.
Tim-Philipp Müller [Sat, 22 Oct 2016 16:05:44 +0000 (17:05 +0100)]
docs: add index for API new in 1.10
Tim-Philipp Müller [Sat, 22 Oct 2016 16:05:25 +0000 (17:05 +0100)]
docs: add index for API new in 1.8
Jesper Larsen [Fri, 21 Oct 2016 13:40:47 +0000 (15:40 +0200)]
adapter: Fix mix-up between DTS and PTS
https://bugzilla.gnome.org/show_bug.cgi?id=773319
Sebastian Dröge [Fri, 21 Oct 2016 12:22:28 +0000 (15:22 +0300)]
Revert "queue: Fix race when calculating cur_level.time"
This reverts commit
d03bd547809f849405a3f706920091d9b03147b0.
It breaks the unit test, although it ensures that only correct values
are used for calculations. Needs to be fixed up.
https://bugzilla.gnome.org/show_bug.cgi?id=773096
Thibault Saunier [Thu, 20 Oct 2016 20:19:25 +0000 (17:19 -0300)]
Revert "meson: Use the new `pic` argument on static libs"
This reverts commit
a5752240a178c2c651ed10167025fad8b9c4e7bd.
pic was added after 0.35 and will be present in 0.36 (meson
documentation was wrong).
Thibault Saunier [Thu, 20 Oct 2016 18:38:46 +0000 (15:38 -0300)]
meson: Use the new `pic` argument on static libs
We depend on meson 0.35 which makes it simpler to handle
Removes a meson warning
Stian Selnes [Wed, 14 Sep 2016 12:23:56 +0000 (14:23 +0200)]
queue: Fix race when calculating cur_level.time
On the first buffer, it's possible that sink_segment is set but
src_segment has not been set yet. If this is the case, we should not
calculate cur_level.time since sink_segment.position may be large and
src_segment.position default is 0, with the resulting diff being larger
than max-size-time, causing the queue to start leaking (if
leaky=downstream).
One potential consequence of this is that the segment event may be
stored on the srcpad before the caps event is pushed downstream, causing
a g_warning ("Sticky event misordering, got 'segment' before 'caps'").
https://bugzilla.gnome.org/show_bug.cgi?id=773096
Matthew Waters [Mon, 26 Sep 2016 14:00:30 +0000 (00:00 +1000)]
element: use g_strcmp0 in set_context
It's NULL-safe while the libc implementation may not be.
https://bugzilla.gnome.org/show_bug.cgi?id=771773
Matthew Waters [Mon, 26 Sep 2016 13:59:29 +0000 (23:59 +1000)]
element: check for invalid gstcontext's being provided to set_context
https://bugzilla.gnome.org/show_bug.cgi?id=771773
Nirbheek Chauhan [Tue, 18 Oct 2016 04:08:04 +0000 (09:38 +0530)]
build: Apply XCode 8 workaround for iOS too
clock_gettime was also added for iOS 10.0, so don't use it if we're
targetting an older version. That would've caused the symbol to not be
found at runtime on older devices.
Nirbheek Chauhan [Sat, 15 Oct 2016 16:19:21 +0000 (21:49 +0530)]
meson: Don't use c_std=c99
Just use the default c_std used by the compiler. With GCC on Linux this
is gnu89.
Tons of errors related to time.h, signal.h, etc when using c99:
FAILED: libs/gst/check/libcheck/check@sta/check_run.c.o
cc '-Ilibs/gst/check/libcheck/check@sta' '-fdiagnostics-color=always' '-I../libs/gst/check/libcheck' '-Ilibs/gst/check/libcheck' '-I.' '-I../.' '-Ilibs/gst/check/libcheck/..' '-I../libs/gst/check/libcheck/..' '-pipe' '-Wall' '-Winvalid-pch' '-std=c99' '-DHAVE_CONFIG_H' '-fPIC' '-O2' '-g' '-fPIC' '-MMD' '-MQ' 'libs/gst/check/libcheck/check@sta/check_run.c.o' '-MF' 'libs/gst/check/libcheck/check@sta/check_run.c.o.d' -o 'libs/gst/check/libcheck/check@sta/check_run.c.o' -c ../libs/gst/check/libcheck/check_run.c
In file included from ../libs/gst/check/libcheck/check_run.c:21:0:
../libs/gst/check/libcheck/libcompat.h:167:18: warning: ‘struct itimerspec’ declared inside parameter list will not be visible outside of this definition or declaration
const struct itimerspec *new_value, struct itimerspec *old_value);
^~~~~~~~~~
../libs/gst/check/libcheck/check_run.c:98:25: error: array type has incomplete element type ‘struct sigaction’
static struct sigaction old_action[3];
^~~~~~~~~~
../libs/gst/check/libcheck/check_run.c:99:25: error: array type has incomplete element type ‘struct sigaction’
static struct sigaction new_action[3];
^~~~~~~~~~
[...]
ninja: build stopped: subcommand failed.
The change was originally made because gnu99 was causing issues on OS X.
Thibault Saunier [Fri, 14 Oct 2016 09:59:24 +0000 (11:59 +0200)]
stats: Fix warning
Thibault Saunier [Tue, 4 Oct 2016 12:20:37 +0000 (09:20 -0300)]
meson: Make use of new environment object and set plugin path to builddir
- Properly set where to find gst-plugin-scanner
- Use GST_LOADING_WHITELIST so that only core plugins are used
Bump meson requirement to 0.35
Sebastian Dröge [Thu, 13 Oct 2016 16:20:58 +0000 (18:20 +0200)]
controlbinding: Store object in a thread-safe GWeakRef
g_object_weak_ref() is not thread-safe.
Sebastian Dröge [Thu, 13 Oct 2016 16:02:38 +0000 (18:02 +0200)]
argbcontrolbinding: gst_object_replace() is transfer none
Sebastian Dröge [Thu, 13 Oct 2016 16:01:14 +0000 (18:01 +0200)]
directcontrolbinding: Clarify in the documentation what the difference between absolute and not is
Sebastian Dröge [Thu, 13 Oct 2016 15:55:45 +0000 (17:55 +0200)]
controlsource: Remove misleading sentence from the documentation
control sources are not required to return values between 0.0 and 1.0.
This is completely up to the control binding that is used.
Sebastian Dröge [Thu, 13 Oct 2016 15:21:30 +0000 (17:21 +0200)]
object: Fix broken sentence structure in docs
Vincent Penquerc'h [Thu, 13 Oct 2016 11:18:12 +0000 (12:18 +0100)]
tracers: fix structure leak
https://bugzilla.gnome.org/show_bug.cgi?id=772851
Edward Hervey [Thu, 13 Oct 2016 10:03:20 +0000 (12:03 +0200)]
streams: Extend GstStreamType documentation
Users shouldn't assume it will be a single value since it's a flag.
Nirbheek Chauhan [Mon, 3 Oct 2016 14:52:53 +0000 (20:22 +0530)]
build: Fix clock_gettime check with XCode 8
With XCode 8, clock_gettime will be incorrectly detected as being
available regardless of what OS X version we're targetting because the
symbol is available in the .tbd library as a weak symbol.
See: https://github.com/Homebrew/homebrew-core/issues/3727#issue-
170086273
It's only starting from macOS 10.12 that clock_gettime is actually
available, so we can unconditionally disable it when targetting older
versions. We cannot simply do AC_CHECK_FUNCS with -Wl,-no_weak_imports
because the autoconf check does its own prototype declaration that
doesn't trigger that compiler flag.
https://bugzilla.gnome.org/show_bug.cgi?id=772451
Edward Hervey [Tue, 11 Oct 2016 10:12:57 +0000 (12:12 +0200)]
bin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag
This flag is to indicate to child elements that they can add and
remove pads at any point in time without re-adding existing ones.
Elements should post before-hand a GST_MESSAGE_STREAM_COLLECTION
https://bugzilla.gnome.org/show_bug.cgi?id=772741
Tim-Philipp Müller [Mon, 10 Oct 2016 09:59:26 +0000 (10:59 +0100)]
docs: paths in env vars are separated by semicolons on windows
https://bugzilla.gnome.org/show_bug.cgi?id=772431
Guillaume Desmottes [Fri, 7 Oct 2016 15:02:47 +0000 (17:02 +0200)]
docs: fix GST_LEAKS_TRACER_SIG doc
The documentation wasn't mentioning the SIGUSR2 signal.
https://bugzilla.gnome.org/show_bug.cgi?id=772571
Edward Hervey [Sat, 8 Oct 2016 15:23:08 +0000 (17:23 +0200)]
bin: Fix iterator resync'ing
When we get GST_ITERATOR_RESYNC, we need to call gst_iterator_resync()
otherwise we will always get GST_ITERATOR_RESYNC (and that loop would
run forever).
Edward Hervey [Sat, 8 Oct 2016 11:54:42 +0000 (13:54 +0200)]
queue2: Implement gst_event_full_func handling
Same as we do for queue
Stefan Sauer [Sat, 8 Oct 2016 11:20:58 +0000 (13:20 +0200)]
tracer/rusage: fix format string args
The format string contains a process id, but we did not provice one. This
caused us to log garbage since all args got shifted.
Sebastian Dröge [Sat, 1 Oct 2016 13:47:05 +0000 (16:47 +0300)]
message: Fix typo in gst_message_new_progress() docs
test -> text
Thibault Saunier [Fri, 30 Sep 2016 12:57:57 +0000 (09:57 -0300)]
meson: Setup pre-commit hooks when configuring
Tim-Philipp Müller [Fri, 30 Sep 2016 10:38:37 +0000 (11:38 +0100)]
meson: update version
Sebastian Dröge [Fri, 30 Sep 2016 10:01:17 +0000 (13:01 +0300)]
Release 1.9.90
Sebastian Dröge [Fri, 30 Sep 2016 09:08:52 +0000 (12:08 +0300)]
Update .po files
Sebastian Dröge [Fri, 30 Sep 2016 08:41:14 +0000 (11:41 +0300)]
po: Update translations
Tim-Philipp Müller [Tue, 27 Sep 2016 17:00:47 +0000 (18:00 +0100)]
meson: tracers: signal availability of libunwind and backtrace() to code
Not setting cdata here on purpose because of .. complications.
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