summaryrefslogtreecommitdiff
path: root/plugins
AgeCommit message (Collapse)AuthorFilesLines
2017-01-27Port gtk-doc comments to their equivalent markdown syntaxThibault Saunier22-159/+131
Modernizing our documentation and preparing a possible move to hotdoc. This commits also adds missing @title metadatas to all SECTIONs
2017-01-16identity: Add ts-offset property.Jan Schmidt2-0/+24
Add a property to delay or advance sync time when sync=true, with the same behaviour as the ts-offset property in basesink
2017-01-03queue: Don't generate GST_FLOW_ERROR without loggingJan Schmidt1-2/+4
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.
2016-12-21gstrusage: explicitly register to hooksStefan Sauer1-2/+15
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.
2016-12-21meson: Derive defines from header/function namesNirbheek Chauhan1-1/+1
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.
2016-12-20latency: the latency is not an aggregated valueStefan Sauer1-1/+0
The logged latencies are individual meassurements.
2016-12-20leaks: Allow user to set the flags to use to retrieve stack tracesThibault Saunier2-21/+30
https://bugzilla.gnome.org/show_bug.cgi?id=775541
2016-12-20leaks: Allow tracing Gst(Mini)Object reffing operationsThibault Saunier2-14/+147
It makes it much simpler to later debug refcount issues. https://bugzilla.gnome.org/show_bug.cgi?id=775541
2016-12-20leaks: Allow passing a GstStructure to configure the tracerThibault Saunier1-23/+63
But keep understanding the simple synthax with a comma separated list of filters https://bugzilla.gnome.org/show_bug.cgi?id=775541
2016-12-21typefind: Switch to normal mode before have-typeJan Schmidt1-1/+7
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.
2016-12-18multiqueue: Protect against spurious wakeups of the condition variableSebastian Dröge1-1/+2
2016-12-16tracers/stats: log optional fields instead of GST_CLOCK_TIME_NONEStefan Sauer1-2/+8
Simplify the traces and avoid trace analyzer to know that ((1<<64) - 1) means we had no value.
2016-12-13queue/queue2: Protect against spurious condition variable wakeupsSebastian Dröge4-2/+12
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
2016-12-13queue/queue2: Ensure that the streaming thread is unlocked after ↵Sebastian Dröge2-0/+8
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
2016-12-12info: Add a 'flags' parametter to gst_debug_get_stack_traceThibault Saunier1-2/+2
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
2016-12-12filesrc: Set GError in another error caseEdward Hervey1-4/+9
When changing the location while open, properly set the GError regarding the failure.
2016-12-11multiqueue: Fix overflow on get_buffering_level()Seungha Yang1-1/+1
guint64 denominator factor for gst_util_uint64_scale_int() can cause overflow https://bugzilla.gnome.org/show_bug.cgi?id=775921
2016-12-09meson: Fix buildThibault Saunier1-1/+1
2016-12-09meson: Support building with Gst debug disabledThibault Saunier1-1/+4
2016-12-09typefind: Use gst_query_has_scheduling_mode_with_flags() convenience functionSebastian Dröge1-5/+2
2016-12-08tracers/log: log more detailStefan Sauer1-29/+30
Log the objects like we would in GST_TRACE_OBJECT. Add the hook function into the fucntion field.
2016-12-08tracer/log: fix hook prototypeStefan Sauer1-2/+2
s/GstElement/GstPad/
2016-12-07tracer/latency: clear qdataStefan Sauer1-2/+5
When reading the qdata, clear it to avoid it being read and unreffed again. Fixes #774332
2016-12-05fakesink, identity: print metas attached to buffer in silent=false modeTim-Philipp Müller4-8/+37
2016-12-05elements: Handle GstIterator RESYNC return value correctly in ↵Sebastian Dröge2-10/+12
gst_iterator_foreach()
2016-12-04tracers/log: log messages in message categoryStefan Sauer1-2/+2
2016-11-28meson: Add Autotools changes that weren't mirroredNirbheek Chauhan1-0/+1
commits: a7d282d27256ad1d1a55afc37d1db7f60b040089 6fdb4df0f8c8a9e39f7f7cb73ab65306fb0517f5 1aceebd67f0161806dc3b4b68488d599290f283e
2016-11-28elements: add dataurisrc to buildTim-Philipp Müller3-15/+7
Moved from -bad.
2016-11-28dataurisrc: fix string leak in property getterTim-Philipp Müller1-1/+1
2016-11-28Move dataurisrc element from -badTim-Philipp Müller2-0/+538
https://bugzilla.gnome.org/show_bug.cgi?id=774527
2016-11-23fdsink: Block in preroll_wait on unlockOlivier Crête5-10/+39
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
2016-11-17multiqueue: Make sure not-linked streams get woken upJan Schmidt1-30/+47
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
2016-11-16queues: Don't return negative position queries.Jan Schmidt4-0/+14
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)
2016-11-09funnel: Make sure to only lock the stream lock onceSebastian Dröge1-2/+4
We also only unlock it once, and otherwise have it locked forever from this thread, causing deadlocks on shutdown later.
2016-11-04tracers: leaks: Use the new gst_debug_get_stack_traceThibault Saunier3-91/+4
And remove the local implementation of it. https://bugzilla.gnome.org/show_bug.cgi?id=772555
2016-11-04gst: Use libunwind/libdw to generate backtraces if avalaibleThibault Saunier1-9/+0
Making the gst_debug_print_trace function more generally useful. API: + gst_debug_get_trace https://bugzilla.gnome.org/show_bug.cgi?id=772555
2016-11-02fakesink: Add property to not drop out-of-segment buffersJan Schmidt1-5/+22
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
2016-11-01funnel: Always push all sticky events whenever we forward a serialized eventSebastian Dröge1-2/+6
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
2016-11-01tee: Set GST_PAD_FLAG_PROXY_CAPS before forwarding sticky eventsSebastian Dröge1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=752213
2016-10-21Revert "queue: Fix race when calculating cur_level.time"Sebastian Dröge1-1/+1
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
2016-10-20queue: Fix race when calculating cur_level.timeStian Selnes1-1/+1
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
2016-10-14stats: Fix warningThibault Saunier1-1/+2
2016-10-13tracers: fix structure leakVincent Penquerc'h1-2/+5
https://bugzilla.gnome.org/show_bug.cgi?id=772851
2016-10-08queue2: Implement gst_event_full_func handlingEdward Hervey1-8/+10
Same as we do for queue
2016-10-08tracer/rusage: fix format string argsStefan Sauer1-3/+3
The format string contains a process id, but we did not provice one. This caused us to log garbage since all args got shifted.
2016-09-27meson: tracers: signal availability of libunwind and backtrace() to codeTim-Philipp Müller1-1/+12
Not setting cdata here on purpose because of .. complications.
2016-09-26meson: Build tracersThibault Saunier2-2/+23
2016-09-17queue2: Update buffering if its enabled and low/high watermarks are changedCarlos Rafael Giani1-0/+8
https://bugzilla.gnome.org/show_bug.cgi?id=771210
2016-08-31multiqueue: Add higher-resolution low/high-watermark propertiesCarlos Rafael Giani1-13/+64
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
2016-08-31multiqueue: Distinguish between buffering percentage and buffering levelCarlos Rafael Giani2-32/+61
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