Sebastian Dröge
c47e49e1e3
pad: Unblock blocking pad probes when receiving FLUSH_START in send_event() too
...
Without this, flushing might not unblock the streaming thread and cause deadlocks.
https://bugzilla.gnome.org/show_bug.cgi?id=757257
2015-10-29 11:08:26 +02:00
Sebastian Dröge
1493f4a334
pad: Document the order in which pad probes are called
...
https://bugzilla.gnome.org/show_bug.cgi?id=757197
2015-10-28 13:04:25 +02:00
Sebastian Dröge
2dfa548f36
pad: Append hooks instead of prepending to call them in the order they were added
...
https://bugzilla.gnome.org/show_bug.cgi?id=757197
2015-10-28 13:02:04 +02:00
Nirbheek Chauhan
5af73b30ed
buffer: flesh out docs for gst_buffer_make_writable() a little
...
There is a similar explanation in gst_caps_make_writable, but the existing
documentation can be misleading since it does not define what 'is already
writable' means.
Also note when this function is meant to be used.
2015-10-27 11:23:25 +00:00
Nirbheek Chauhan
b76f046999
caps: clarify docs for a few functions that they don't update things in-place
...
It is not necessarily clear from the existing introspection tags and
documentation alone.
2015-10-27 11:23:25 +00:00
Edward Hervey
41e1bea7ef
buffer: Add a GST_BUFFER_DTS_OR_PTS macro
...
API: GST_BUFFER_DTS_OR_PTS
Many scenarios/elements require dealing with streams of buffers that
might have DTS set (i.e. encoded data, potentially reordered)
To simplify getting the increasing "timestamp" of those buffers, create
a macro that will return the DTS if valid, and if not the PTS
2015-10-27 08:33:23 +01:00
Sebastian Dröge
66c0879908
segment: Return -1 if gst_segment_to_stream_time_full() considers the position not inside the segment
...
Fixes GstPipeline unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=756564
2015-10-26 10:53:35 +02:00
Florin Apostol
07902f6ab4
uri: fix behaviour for merging uris ending in .. without following /
...
https://bugzilla.gnome.org/show_bug.cgi?id=757065
2015-10-24 20:32:53 +03:00
Thibault Saunier
d593192a39
debug: Dump pad properties values
...
Currently we only show element properties values, we should also show
pad properties values
https://bugzilla.gnome.org/show_bug.cgi?id=754166
2015-10-24 07:23:05 +02:00
Sebastian Dröge
9402f9786d
segment: Remove leftover debug g_print()
2015-10-23 20:04:42 +03:00
Vivia Nikolaidou
6ff8fdfc47
segment: Add _full variants of all stream/running_time from/to segment position functions
...
See formula clarifications in design docs for calculation details.
https://bugzilla.gnome.org/show_bug.cgi?id=756564
2015-10-23 15:50:38 +03:00
Mathieu Duponchelle
0726c65da2
gstcontrolsource: Add missing (out) annotation
2015-10-22 10:06:17 +02:00
Sebastian Dröge
0f5be03d76
pad: Fix docs/annotation of gst_pad_probe_info_get_buffer_list()
...
It's not get_bufferlist(). Because of that it was ignored by the docs and
G-I, leading to crashes because of broken ownership transfer.
https://bugzilla.gnome.org/show_bug.cgi?id=756898
2015-10-21 14:49:49 +03:00
Sebastian Dröge
1efb451154
Use new GST_ENABLE_EXTRA_CHECKS #define
...
https://bugzilla.gnome.org/show_bug.cgi?id=756870
2015-10-21 14:31:56 +03:00
Vivia Nikolaidou
45f0f354ac
segment: Correct stream_time calc for negative applied rate
...
Updated gst_segment_position_from_stream_time and gst_segment_to_stream_time to reflect correct calculations for the case when the applied rate is negative.
Pasting from design docs:
===============================
Stream time is calculated using the buffer times and the preceding SEGMENT
event as follows:
stream_time = (B.timestamp - S.start) * ABS (S.applied_rate) + S.time
For negative rates, B.timestamp will go backwards from S.stop to S.start,
making the stream time go backwards.
===============================
Therefore, the calculation for applied_rate < 0 should be:
stream_time = (S.stop - B.timestamp) * ABS (S.applied_rate) + S.time
and the reverse:
B.timestamp = S.stop - (stream_time - S.time) / ABS (S.applied_rate)
https://bugzilla.gnome.org/show_bug.cgi?id=756810
2015-10-20 10:43:07 +03:00
Stefan Sauer
70d2a676af
tracer: rename the envvar to GST_TRACER_PLUGINS
...
The subsystem reused the GST_TRACE var that is allready in use by the alloc tracer.
Fixes #756760
2015-10-19 21:41:13 +02:00
Ting-Wei Lan
55fae236d0
gstutils: Fix build with clang -Werror=cast-align
...
https://bugzilla.gnome.org/show_bug.cgi?id=755657
2015-10-19 13:03:53 +01:00
Sebastian Dröge
2955eeb0ed
bin: Make sure to free all cached messages when going to NULL
...
An ASYNC READY->PAUSED might have failed without the bin code noticing during
the state change, in which case we will never get PAUSED->READY and would leak
messages.
https://bugzilla.gnome.org/show_bug.cgi?id=756611
2015-10-19 11:06:54 +03:00
Tim-Philipp Müller
bc5c199bc5
docs: mention xdot utility to view .dot files directly
2015-10-16 15:59:49 +01:00
Tim-Philipp Müller
424477d00e
alloctrace: show details of events and messages leaked
...
So it's clearer what leaked.
2015-10-16 12:00:50 +01:00
Thiago Santos
cecd8bdfdc
memory: fix typo in documentation
...
It should be 1.2 unless this is a flag from the future
2015-10-15 20:15:48 -03:00
Florin Apostol
224da699a9
pad: fix memory leak when sending events to an EOS pad
...
https://bugzilla.gnome.org/show_bug.cgi?id=756208
2015-10-07 23:07:59 +01:00
Stefan Sauer
77ef6000c6
tracer: move prototype to the right header
...
Fixes the build when the tracing subsystem is disabled.
2015-10-06 18:52:38 +02:00
Stefan Sauer
ddc5654b60
tracer: mark GstTracerQuarkId as non GEnum
...
This reverts 72ca02b1de
and marks the enum
accordingly.
2015-10-06 18:49:46 +02:00
Stefan Sauer
b971c0979e
tracer: fix the build with debug (tracer) disabled
...
Sync the macro definitions. The dummy defines has argument mismatches.
2015-10-06 14:01:21 +02:00
Stefan Sauer
73e8508bd4
tracer: fix the build with debug (tracer) disabled
...
Remove commas at the end of the macros.
2015-10-06 11:39:33 +02:00
Thiago Santos
72ca02b1de
gst: adding tracer quark id to gst init and deinit
...
Fixes issues at make check
2015-10-05 19:06:41 -03:00
Marcin Kolny
e8d0b019b3
tracer: add missing hooks
...
Add following hooks: element-new, element-add-pad, element-remove-pad,
bin-add-pre, bin-add-post, bin-remove-pre, bin-remove-post, pad-link-pre,
pad-link-post, pad-unlink-pre, pad-unlink-post.
https://bugzilla.gnome.org/show_bug.cgi?id=733187
2015-10-05 20:59:39 +02:00
Thiago Santos
567865c81c
tracer: add pad query hooks
2015-10-05 20:59:39 +02:00
Mathieu Duponchelle
eb0c8facca
tracer: strdup the passed parameters.
2015-10-05 20:59:39 +02:00
Stefan Sauer
660049bb38
tracing: rename the global api to gst_tracing
...
This makes it more obvious what is the api for tracer elements and what is api
for the global state.
2015-10-05 20:59:39 +02:00
Stefan Sauer
5e2770566f
tracers: eliminate var_args
...
Register tracer hooks as GCallback. Use macros for hook dispatch and cast the
hook functions back to the appropriate type.
2015-10-05 20:59:39 +02:00
Stefan Sauer
4881d1c16c
tracer: use GQuark or strings for the hook id
...
This way one can define new tracing probes without changing the core. We are
using our own quark table, as 1) we only want to initialize them if we're
tracing, 2) we want to share them with the tracers.
2015-10-05 20:59:39 +02:00
Stefan Sauer
1a3e218b89
tracer: simplify hook api
...
Instead of a single invoke() function and a 'mask', register to individual
hooks. This avoids one level of indirection and allows us to remove the
hook enums. The message enms are now renamed to hook enums.
2015-10-05 20:59:39 +02:00
Stefan Sauer
7b24d76260
tracer: drop the HookId hid from the invoke method
...
The MessageId is more detailed and anyway needed to interpret the varargs.
2015-10-05 20:59:39 +02:00
Stefan Sauer
2ef32c8840
tracer: remove commented code
2015-10-05 20:59:39 +02:00
Stefan Sauer
d7acb27dee
tracer: use GST_PTR_FORMAT to log the structure
...
This way we only expand the structure when we're logging. This allows us to
meassure the pure tracing seperately from the logging.
Also add some comments on further improvements.
2015-10-05 20:59:39 +02:00
Stefan Sauer
b92ea7a0bc
quarks: revert the quark changes, we not using them anymore
2015-10-05 20:59:39 +02:00
Stefan Sauer
46ea9729df
tracer: split into tracer and tracerutils
...
Keep tracer base class in tracer and move core support into the utils module.
Add a unstable-api guard to the tracer.h so that external modules would need to
acknowledge the status by setting GST_USE_UNSTABLE_API.
2015-10-05 20:59:39 +02:00
Stefan Sauer
6ea2b41364
docs: add gtk-doc blobs
2015-10-05 20:59:39 +02:00
Stefan Sauer
7dfc0a8ead
tracers: add a logging helper to remove identical copies from the tracers
2015-10-05 20:59:39 +02:00
Stefan Sauer
2a01088079
tracer: use the same timebase as the logging
2015-10-05 20:59:39 +02:00
Stefan Sauer
81b27c7036
tracer: parse parameters
2015-10-05 20:59:39 +02:00
Stefan Sauer
ce7ce2d866
tracer: add more hooks and handle it in the plugins
2015-10-05 20:59:39 +02:00
Stefan Sauer
11d6e13d73
tracer: use a macros for the enabled check
...
Avoid a function call and check the variables from the macro.
2015-10-05 20:59:39 +02:00
Stefan Sauer
e08fab7d5f
tracer: use macros for hooks
...
Wrap the hook with a pre and post macro. This looks less intrusive than the
previous version, although it is a little less optimized.
2015-10-05 20:59:39 +02:00
Stefan Sauer
9d3975b5da
tracer: pass the timestamp directly
...
Avoid the structure mashalling (and weird field naming).
2015-10-05 20:59:39 +02:00
Stefan Sauer
c2d5b35332
tracer: pass the instance to the vmethod
2015-10-05 20:59:39 +02:00
Stefan Sauer
764b5833b9
tracer: switch to quarks and add another hook for buffer flow
...
Use pre-defines quarks as this will be called quite often.
2015-10-05 20:59:39 +02:00
Stefan Sauer
68b1473846
tracer: add the hook-id to the invoke signature
...
Tracers that subscribe to multiple hooks can know what hook was used.
2015-10-05 20:59:39 +02:00