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
dbb1897e9b
rusage: implement windowing of cpuload
...
Add a local help to the rusage plugin that supports windowing of values. We want
to generalize this for use in other plugins.
2015-10-05 20:59:39 +02:00
Stefan Sauer
018858980b
rusage: announce the data format
...
Rusage will now announce what is meassures and how it is logged. Use the new format in stats.
Cleanup the the code and naming.
2015-10-05 20:59:39 +02:00
Stefan Sauer
c13ee1f2e9
stats: improve cpu load meassurements
...
Rename variables for clarity. Handle the initial disparity between debug time
and the time already spent in the proc and main thread.
2015-10-05 20:59:39 +02:00
Stefan Sauer
c500372f5a
design: update tracer design
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
757d3400cd
latency: take stop time when buffer is handled
...
Now we meassure time from 'before buffer transfer on src' to when the 'buffer is processed on sink'.
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
635a4b5c00
tracers: tweak the get_real_pad_parent()
...
By using the we ended up on the actual element, not the parent.
2015-10-05 20:59:39 +02:00
Stefan Sauer
111b18115a
tracers: add a new latency tracer
...
Add a new tracer with pushes extra events to meassure src-to-sink processing latency.
2015-10-05 20:59:39 +02:00
Stefan Sauer
db3686c14d
design: update design docs
...
Add new tracer idea.
2015-10-05 20:59:39 +02:00
Stefan Sauer
b90ee2a84c
gst-stats: use the rusage stats
...
Add cpuload info from rusage traces.
2015-10-05 20:59:39 +02:00
Stefan Sauer
fc9392c10f
rusage: add a new rusage tracer
...
The tracer hooks up to all probes and logs resource usage figures.
2015-10-05 20:59:39 +02:00
Stefan Sauer
ff7ba1eb8d
gst-stats: filter complete thread section if we have no pads
2015-10-05 20:59:39 +02:00
Stefan Sauer
0c26387e62
stats: improve the handling of parentage
...
Log new object after we did the check for parents.
2015-10-05 20:59:39 +02:00
Stefan Sauer
81e617fa70
stats: print thread key for stats and filter empty pad-sections
2015-10-05 20:59:39 +02:00
Stefan Sauer
f8390caf2c
stats: update buffer flags
...
Remove some buffer flags that were leftovers from 0.10 and handle new 1.0 buffer
flags.
2015-10-05 20:59:39 +02:00
Stefan Sauer
b8eef6ba2c
stats: add a stats frontend
...
Parse the log and collect data from tracer messages.
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
0ab7d5f631
design: update design
2015-10-05 20:59:39 +02:00
Stefan Sauer
ac92e5674e
log: add query log category
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
37721fdc9d
stats: handle buffer lists
2015-10-05 20:59:39 +02:00
Stefan Sauer
75fb1f1a73
log: make the log tracer more verbose again
...
Define log formats per message type and print details.
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
d663b78612
stats: add a tracer that collects pipeline statistics
...
This is more or less equiv to the the statistics in gst-tracelib.
2015-10-05 20:59:39 +02:00
Stefan Sauer
2c6672435f
log: add cast macro
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
8a8f16863b
design: more planning
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
6e9f018dc4
inspect: add support for the new factory
...
Handle tracer modules.
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
Vineeth TM
456ef2aa1d
tests/gst-launch: Fix sample memory leak
...
When sample is got using gst_tag_list_get_sample_index, it should
be free'd.
https://bugzilla.gnome.org/show_bug.cgi?id=756069
2015-10-05 12:08:30 +01:00
Sebastian Dröge
3e8ef4cf5a
Update GLib dependency to 2.40.0
2015-10-02 22:18:24 +03:00
Vineeth TM
215cfcf993
gstreamer: Fix memory leaks when context parse fails
...
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.
And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.
https://bugzilla.gnome.org/show_bug.cgi?id=753851
2015-10-02 17:31:11 +03:00
Jan Alexander Steffens (heftig)
d3e9f55302
timedvaluecontrolsource: Use g_sequence_lookup where possible
...
When looking for exact matches in the sequence, this results
in much simpler code than when using g_sequence_search.
https://bugzilla.gnome.org/show_bug.cgi?id=755498
2015-10-02 17:30:38 +03:00
Stefan Sauer
9a30399e4f
interpolationcontrolsource: fix write over the array size
...
The '++' got incidentially added during the refactoring in
2fe3939ce7
.
2015-10-01 22:12:50 +02:00
Stefan Sauer
8487133114
controlpoint: change the padding to be of arch-independent size
...
The default padding I introduced in d4f81fb4e6
is
actually only 4 pointers and on 32bit platforms already smaller than the union.
Replace it with a fixed 64byte padding. Don't add the normal padding for now.
Fixes #755822
2015-09-30 17:31:58 +02:00
Luis de Bethencourt
7c58eefb77
gstreamer-uninstalled: add path for OpenCV haar cascade files
...
Some OpenCV plugins use haar cascade files that are included in the
GStreamer sources. To be able to use these from uninstalled, they need
to be found through an environment variable.
Adding this environment variable pointing to haar cascade files to
gst-uninstalled.
2015-09-29 16:56:29 +01:00
Tim-Philipp Müller
5d3c58902f
check: fix 'format string is not a string literal' warning with clang
...
Broke this when I removed the G_GNUC_PRINTF in a previous
commit to fix indentation, since it was not really needed.
Turns out unlike gcc clang warns though if a non-literal
format string is passed then. Fix indentation differently.
http://clang.llvm.org/docs/AttributeReference.html#format-gnu-format
2015-09-28 20:10:31 +01:00
Stefan Sauer
3037172f48
tests: fix the manual tests by setting the right env-vars
2015-09-28 16:46:14 +02:00
Stefan Sauer
653f9148bd
directcontrolbinding: fix formatting
2015-09-28 16:23:41 +02:00
Stefan Sauer
05dbad27c5
index: mark two structs that don't have abi padding
2015-09-28 16:23:41 +02:00
Stefan Sauer
d4f81fb4e6
controller: add the missing abi padding
...
While this technically is an abi break, we decided to do this:
1) the struct is documented to be internal
2) the struct is alloced and freed inside the library
3) there are no public methods that receive or return instances
4) the only code known to use this struct are classes containd here
2015-09-28 16:23:41 +02:00