Commit graph

16762 commits

Author SHA1 Message Date
Stefan Sauer
10b78d872b tracerrecord: add a log record class
We use this class to register tracer log entry metadata and build a log
template. With the log template we can serialize log data very efficiently.
This also simplifies the logging code, since that is now a simple varargs
function that is not exposing the implementation details.

Add docs for the new class and basic tests.

Remove the previous log handler.

Fixes #760267
2016-01-15 21:54:01 +01:00
Sebastian Dröge
7b49459f1a netclientclock: Check return value of g_socket_close()
CID 1348452
2016-01-15 09:48:32 +01:00
Sebastian Dröge
3315f483bc netclientclock: Free data after removing it from the list
Does not matter here but makes Coverity more happy. It can't
know that g_list_remove() only looks at the pointer value but
does not dereference it.

CID 1348454
2016-01-15 09:02:42 +01:00
Nirbheek Chauhan
20c89fa8bc GstDeviceMonitor: Clarify the behaviour of gst_device_monitor_add_filter 2016-01-14 22:07:51 +00:00
Nirbheek Chauhan
4d6c7ccd08 GstDeviceMonitor: Don't remove unmatched class filters
If no providers for a particular class could be found, then removing unmatched
filters would cause all devices to be returned instead which is not at all what
the user intended. We still return 0 for unmatched filters.
2016-01-14 22:07:51 +00:00
Florin Apostol
f875bec51e netclientclock: Fix GError memory leak in handling NTP response
Error was not released if gst_ntp_packet_receive failed.

https://bugzilla.gnome.org/show_bug.cgi?id=760598
2016-01-13 23:01:18 +01:00
Matthew Waters
3da58942a9 win32: update exports for API additions 2016-01-13 13:10:10 +11:00
Matthew Waters
347734e529 info: expose debugging printf functions
Other gst libraries and/or elements may want to add some debug logging to an
external debug system or implement delayed debugging for performance reasons.

Exposes the internal __gst_vasprintf as gst_info_vasprintf which has a fallback
to g_vasprintf if the debug system is disabled.

API: gst_info_vasprintf
API: gst_info_strdup_vprintf
API: gst_info_strdup_printf

https://bugzilla.gnome.org/show_bug.cgi?id=760421
2016-01-13 11:56:14 +11:00
Carlos Rafael Giani
91496281eb basesrc: Only set duration/position query values in case of query success
Currently, the query values are being set even if the query itself was
determined to have failed. Fix this to ensure the values are only set in
case of a query success.

https://bugzilla.gnome.org/show_bug.cgi?id=760479
2016-01-11 21:42:10 +01:00
Stefan Sauer
30741e0206 tracers: code clean ups
Drop some trailing whilespace. Make field order consistent.
2016-01-10 14:30:05 +01:00
Stefan Sauer
fff9680c93 benchmark: fix copy'n'past of the file-description comment 2016-01-08 23:35:53 +01:00
Stefan Sauer
bb40a18413 benchmark: add a benchmark for bgo/760267
Big suprise - GstStructure is faster than GVariant.
2016-01-08 23:13:29 +01:00
HoonHee Lee
788938640d funnel: improve debug message
https://bugzilla.gnome.org/show_bug.cgi?id=745939
2016-01-08 19:28:43 +00:00
Tim-Philipp Müller
4febebb962 info: add buffer list support to GST_PTR_FORMAT 2016-01-08 19:25:24 +00:00
Aurélien Zanelli
6b71877692 controlsource: fix GetValue and GetValueArray documentation
GstControlSourceGetValue() value paramater is a gdouble, not a GValue
and GstControlSourceGetValueArray doesn't return a GstValueArray but
an array of double.

https://bugzilla.gnome.org/show_bug.cgi?id=758668
2016-01-08 18:24:06 +00:00
Stefan Sauer
2f41e7bc6a tracer: harmonize the query hooks
In post hooks always pass the return value as the last param. Pass the query
also to post hooks since it is still alive.
2016-01-07 23:03:48 +01:00
Stefan Sauer
fb249dadcb tracers/stats: add missing parameters to callback functions 2016-01-07 22:47:37 +01:00
Stefan Sauer
281f792042 tracerutils: update #endif comment
We changed the define, but left the comment inconsistent.
2016-01-07 22:43:58 +01:00
Stefan Sauer
8968af3589 tracerutils: document the tracer hook functions
Document all tracer hook function pointer together with the detail string that
one needs to use with gst_tracing_register_hook().
2016-01-07 22:41:32 +01:00
Sebastian Dröge
9d91ad0b85 tracer: Use GST_DISABLE_GST_TRACER_HOOKS instead of GST_DISABLE_GST_DEBUG everywhere
Previously we used the latter one still for the tracer utility code, causing
undefined references in the resulting binary if the debugging system was
disabled but the tracer system not.
2016-01-07 18:46:21 +02:00
Sebastian Dröge
d787105fd5 gst: Rename _priv_gst_info_start_time to _priv_gst_start_time and initialize it centrally
It's used by the debugging and tracer subsystem and in various files, make it
a central thing that is initialized independ of the existence of those
subsystems.
2016-01-07 18:41:25 +02:00
Stefan Sauer
842b472772 win32: update win32 exports
Remove the _hook_id() methods we made internal in the prev commit.
2016-01-06 21:42:30 +01:00
Stefan Sauer
555f48da4b structure: log a warning if we can't serialize a field
The function always returns TRUE right now, so atleast log something.
2016-01-06 21:25:32 +01:00
Aleksander Wabik
90318900a1 tests: queue2: add test for fill level arithmetic overflow
https://bugzilla.gnome.org/show_bug.cgi?id=755971
2016-01-06 20:00:46 +00:00
Tim-Philipp Müller
61e2f1eab1 queue2: avoid calculating fill levels multiple times
Macro expansion means we might calculate the fill level once
for the check and then possibly again for the return value.
2016-01-06 20:00:46 +00:00
Tim-Philipp Müller
8c6c0bef88 queue2: fix fill level arithmetic overflow with large values
Based on patch by: Aleksander Wabik <awabik@opera.com>

https://bugzilla.gnome.org/show_bug.cgi?id=755971
2016-01-06 20:00:46 +00:00
Stefan Sauer
5e40639be7 tracer: make gst_tracing_register_hook_id static
We don't need to expose this as public API. Change the only plugin that was
using it.
2016-01-06 20:46:58 +01:00
Tim-Philipp Müller
d94e0c4563 docs: design: update list of disted files after file rename 2016-01-06 18:56:56 +00:00
Sebastian Dröge
2d38699144 docs: Hide NTP packet API and add GST_PTP_STATISTICS_* defines to the docs 2016-01-06 19:42:49 +02:00
Stefan Sauer
2159aa56bc docs: remove parent docs for GstPtpClock
Instance docs don't need to docuemnt the parent (first member).
2016-01-06 18:17:27 +01:00
Stefan Sauer
8b6ad65e63 docs: cleanup -unused.txt report for libs
The IGNORE_H_FILES can only contain files or dirs.
2016-01-06 18:14:06 +01:00
Stefan Sauer
110451397a docs: add more core api to the right sections
Add new and documented api reported in -unused.txt to -section.txt.
2016-01-06 17:59:23 +01:00
Stefan Sauer
cf0738e43e docs: exclude more header from doc-scan
Exclude gst/printf/*.h and a few generated .h files from the api-scan. This
makes -unused.txt report file from gtkdoc useful again.
2016-01-06 17:59:23 +01:00
Sebastian Dröge
5fe1b7efe3 clock: adjust/unadjust_with_calibration() have a clock parameter but it's useless
Document this, for 2.0 we should just remove that parameter.
2016-01-06 16:25:38 +02:00
Sebastian Dröge
fb01dd000b clock: Add gst_clock_unadjust_with_calibration()
We already have gst_clock_adjust_with_calibration() and
gst_clock_unadjust_unlocked(), having the other variant is useful.
2016-01-06 16:25:38 +02:00
Stefan Sauer
0c952d0711 docs: add new pad-event function to the docs 2016-01-06 13:33:39 +01:00
Stefan Sauer
0be259f44f docs: hide internal tracer api from docs
Also address warnigns regarding the unstable tracer api.
2016-01-06 13:30:25 +01:00
Stefan Sauer
efa316d666 docs: add the tracer to the docs
Add GstTracer and GstTracerFactory to the core docs.
2016-01-06 13:05:53 +01:00
Stefan Sauer
4cc1116a9d docs: rename the tracer doc to part since it is now merged 2016-01-06 11:52:53 +01:00
Stefan Sauer
1af0a3ce6f tracerutils: move header to noinst section
This is internal code, that is only to be used in core.
2016-01-06 11:37:12 +01:00
Stefan Sauer
e5ca47236e configure: add a new option to disable the tracer hooks
This was previously done via {enable,disable}-gst-debug. Since both subsystems
are independent having separate options is better.
2016-01-06 11:33:34 +01:00
Sebastian Dröge
01ba6d40a8 clock: Fix typo
clocked -> clock
2016-01-05 16:44:53 +02:00
Sebastian Dröge
1c010fd230 netclientclock: Disconnect the "synced" signal handler from the internal clock
Not from the external one.
2016-01-05 15:00:14 +02:00
Stefan Sauer
ab17881cf0 controller: rename new cubic interpolation mode
Don't abbreviate to 'mono' and use 'monotonic' instead.
2016-01-05 13:57:12 +01:00
Sebastian Dröge
2f776d679f clock: Don't allow setting an unsynced clock as master 2016-01-05 14:23:26 +02:00
Sebastian Dröge
ab827eca2e clock: Don't try to slave unsynced clocks
They will return useless values from get_time().
2016-01-05 14:21:58 +02:00
Sebastian Dröge
58b4e075a6 ntp: The clock inherits from GstNetClientClock, not just GstSystemClock 2016-01-05 13:41:08 +02:00
Sebastian Dröge
29136a0186 netclientclock: Destroy a cached clock 60 seconds after its last use
There's not much lost by having the clock idle around a bit longer but it will
potentially allow anybody wanting to use the same clock server again to sync
much faster.
2016-01-04 17:18:07 +02:00
Sebastian Dröge
33dcec7b74 netclientclock: Only ever run one clock against a specific server
If multiple net/NTP clocks are created for the same server, reuse the same
internal clock for all of them. This makes sure that we don't flood the server
with too many requests and also possibly allows faster synchronization if
there already was an earlier synchronized clock when creating a new one.
2016-01-04 16:31:23 +02:00
Sebastian Dröge
23abc425d4 nettimeprovider: Use GInitable instead of having a new() function that can return NULL
Bindings don't like that much and as we're using GIO here anyway we can as
well use GInitable for possibly failing initialization.
2016-01-04 10:40:35 +02:00