Age | Commit message (Collapse) | Author | Files | Lines |
|
Modernizing our documentation and preparing a possible move to hotdoc.
This commits also adds missing @title metadatas to all SECTIONs
|
|
Add a property to delay or advance sync time
when sync=true, with the same behaviour as
the ts-offset property in basesink
|
|
At least log a message to the debug log when generating
a GST_FLOW_ERROR, to make it possible to find where it came from.
|
|
We were attaching to any probe point to take rusage samples. The new refcount
hooks are called way too frequently though to make this still feasible.
|
|
This is what Autoconf already does for us, so just do this. Avoids
people making typos while adding header or function checks. Because we
use a config.h.meson, such typos won't even be noticed.
Also, starting from Meson 0.36.0, the XCode 8 workaround that we use for
clock_gettime is no longer needed.
|
|
The logged latencies are individual meassurements.
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=775541
|
|
It makes it much simpler to later debug refcount issues.
https://bugzilla.gnome.org/show_bug.cgi?id=775541
|
|
But keep understanding the simple synthax with a comma separated
list of filters
https://bugzilla.gnome.org/show_bug.cgi?id=775541
|
|
Before emitting have-type, switch to NORMAL
mode, as part of the have-type processing sends
the caps event downstream, which might trigger
actions like downstream autoplugging or
flushing seeks - and the latter are only
passed upstream if we've set typefind to NORMAL
mode.
|
|
|
|
Simplify the traces and avoid trace analyzer to know that ((1<<64) - 1) means
we had no value.
|
|
Make sure that we only wake up when we have to flush, or when this
specific query was handled.
https://bugzilla.gnome.org/show_bug.cgi?id=776039
|
|
deactivating the srcpad
It might happen that the srcpad task function is never called at all, in
which case unlocking everything from there will never happen.
Make sure to unlock everything another time after the task function is
definitely stopped.
https://bugzilla.gnome.org/show_bug.cgi?id=776039
|
|
This is an API break but that API has not been released yet.
We are passing a flag rather than a simple boolean as we can imagine
to implement more features in the future for example to retrieve a
stack trace for all the threads, etc..
Retrieving source file and line numbers is pretty
expensive while getting a stack trace, this new argument
allows the user to decide to retrieve a backtrace
without those infos instead which is much faster.
For example running $ GST_LEAKS_TRACER_STACK_TRACE=1 GST_DEBUG=GST_TRACER:7 \
GST_TRACERS=leaks time gst-launch-1.0 videotestsrc num-buffers=1 ! fakesink:
* With simple stack traces:
0.04s user 0.02s system 99% cpu 0.060 total
* With full stack traces:
0.66s user 0.23s system 96% cpu 0.926 total
https://bugzilla.gnome.org/show_bug.cgi?id=775423
|
|
When changing the location while open, properly set the GError regarding
the failure.
|
|
guint64 denominator factor for gst_util_uint64_scale_int() can cause overflow
https://bugzilla.gnome.org/show_bug.cgi?id=775921
|
|
|
|
|
|
|
|
Log the objects like we would in GST_TRACE_OBJECT. Add the hook function into
the fucntion field.
|
|
s/GstElement/GstPad/
|
|
When reading the qdata, clear it to avoid it being read and unreffed again.
Fixes #774332
|
|
|
|
gst_iterator_foreach()
|
|
|
|
commits:
a7d282d27256ad1d1a55afc37d1db7f60b040089
6fdb4df0f8c8a9e39f7f7cb73ab65306fb0517f5
1aceebd67f0161806dc3b4b68488d599290f283e
|
|
Moved from -bad.
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=774527
|
|
The correct behaviour of anything stuck in the ->render() function
between ->unlock() and ->unlock_stop() is to call
gst_base_sink_wait_preroll() and only return an error if this returns an
error, otherwise, it must continue where it left off!
https://bugzilla.gnome.org/show_bug.cgi?id=773912
|
|
When running in sync-by-running-time mode, pad groups
that have exactly 1 pad and it's not-linked might never
wake up after computing a high time, as the per-pad-group
high time was only recomputed when a pad in the group
advances.
Wake those up using the global multiqueue high-time across
all other groups instead.
https://bugzilla.gnome.org/show_bug.cgi?id=774322
|
|
When subtracting queued data sizes from upstream queries
in queue, queue2, downloadbuffer and typefind, clamp the
result to not go negative, in case upstream returned
a nonsense value that's too small (as could happen if
upstream is estimating, or just broken)
|
|
We also only unlock it once, and otherwise have it locked forever from
this thread, causing deadlocks on shutdown later.
|
|
And remove the local implementation of it.
https://bugzilla.gnome.org/show_bug.cgi?id=772555
|
|
Making the gst_debug_print_trace function more generally useful.
API:
+ gst_debug_get_trace
https://bugzilla.gnome.org/show_bug.cgi?id=772555
|
|
Implement handling in basesink to not unconditionally discard
out-of-segment buffers and expose it as a new property on fakesink
(not unconditionally in all basesink based sinks).
The property defaults to FALSE.
https://bugzilla.gnome.org/show_bug.cgi?id=765734
|
|
Otherwise downstream will have an inconsistent set of sticky events at this
point, e.g. when a TAG event is pushed and downstream wants to relate it to
the stream by looking at the current STREAM_START event.
https://bugzilla.gnome.org/show_bug.cgi?id=768526
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=752213
|
|
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
|
|
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
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=772851
|
|
Same as we do for queue
|
|
The format string contains a process id, but we did not provice one. This
caused us to log garbage since all args got shifted.
|
|
Not setting cdata here on purpose because of .. complications.
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=771210
|
|
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
|
|
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
|