Mathieu Duponchelle
eb0c8facca
tracer: strdup the passed parameters.
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
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
81b27c7036
tracer: parse parameters
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
Stefan Sauer
4e5d586c7d
tracer: initial prototype for the tracing subsystem
2015-10-05 20:59:39 +02:00