VLC 4.0.0-dev
Loading...
Searching...
No Matches
Collaboration diagram for Tracer API:

Macros

#define vlc_tracer_TraceWithTs(tracer, ts, ...)
#define vlc_tracer_Trace(tracer, ...)
#define VLC_TRACE_END    vlc_tracer_entry_FromString(NULL, NULL)
#define VLC_TRACE(key, value)
#define VLC_TRACE_TICK_NS(key, tick)

Functions

struct vlc_tracervlc_tracer_Create (vlc_object_t *parent, const char *name)
 Create a tracer object.
void vlc_tracer_Destroy (struct vlc_tracer *tracer)
 Destroy a tracer object.
void vlc_tracer_TraceWithTs (struct vlc_tracer *tracer, vlc_tick_t ts, const struct vlc_tracer_trace *trace)
 Emit traces.
static struct vlc_tracer_entry vlc_tracer_entry_FromInt (const char *key, int64_t value)
static struct vlc_tracer_entry vlc_tracer_entry_FromUnsigned (const char *key, uint64_t value)
static struct vlc_tracer_entry vlc_tracer_entry_FromDouble (const char *key, double value)
static struct vlc_tracer_entry vlc_tracer_entry_FromString (const char *key, const char *value)

Detailed Description

Macro Definition Documentation

◆ VLC_TRACE

#define VLC_TRACE ( key,
value )
Value:
_Generic((value), \
const char *: vlc_tracer_entry_FromString) (key, value)
static struct vlc_tracer_entry vlc_tracer_entry_FromDouble(const char *key, double value)
Definition vlc_tracer.h:191
static struct vlc_tracer_entry vlc_tracer_entry_FromUnsigned(const char *key, uint64_t value)
Definition vlc_tracer.h:183
static struct vlc_tracer_entry vlc_tracer_entry_FromInt(const char *key, int64_t value)
Definition vlc_tracer.h:175
static struct vlc_tracer_entry vlc_tracer_entry_FromString(const char *key, const char *value)
Definition vlc_tracer.h:200

Referenced by EsOutVaControlLocked(), EsOutVaPrivControlLocked(), RenderPicture(), stream_HandleDrift(), TraceRender(), vlc_clock_master_update_coeff(), vlc_input_decoder_DecodeWithStatus(), vlc_tracer_TraceEvent(), vlc_tracer_TracePCR(), vlc_tracer_TraceStreamDTS(), and vlc_tracer_TraceStreamPTS().

◆ VLC_TRACE_END

◆ VLC_TRACE_TICK_NS

#define VLC_TRACE_TICK_NS ( key,
tick )
Value:
VLC_TRACE((key), NS_FROM_VLC_TICK((tick)))
#define VLC_TRACE(key, value)
Definition vlc_tracer.h:212
#define NS_FROM_VLC_TICK(vtk)
Definition vlc_tick.h:157

Referenced by EsOutVaControlLocked(), EsOutVaPrivControlLocked(), RenderPicture(), stream_HandleDrift(), TraceRender(), vlc_clock_master_update_coeff(), vlc_tracer_TracePCR(), vlc_tracer_TraceStreamDTS(), and vlc_tracer_TraceStreamPTS().

◆ vlc_tracer_Trace

#define vlc_tracer_Trace ( tracer,
... )
Value:
vlc_tracer_TraceWithTs(tracer, vlc_tick_now(), __VA_ARGS__)
vlc_tick_t vlc_tick_now(void)
Precision monotonic clock.
Definition thread.c:253
#define vlc_tracer_TraceWithTs(tracer, ts,...)
Definition vlc_tracer.h:165

Referenced by EsOutVaControlLocked(), EsOutVaPrivControlLocked(), stream_HandleDrift(), TraceRender(), vlc_clock_master_update_coeff(), vlc_input_decoder_DecodeWithStatus(), vlc_tracer_TraceEvent(), vlc_tracer_TracePCR(), vlc_tracer_TraceStreamDTS(), and vlc_tracer_TraceStreamPTS().

◆ vlc_tracer_TraceWithTs

#define vlc_tracer_TraceWithTs ( tracer,
ts,
... )
Value:
(vlc_tracer_TraceWithTs)(tracer, ts, &(const struct vlc_tracer_trace) { \
.entries = (const struct vlc_tracer_entry[]) { \
__VA_ARGS__ \
} \
})
Trace message.
Definition vlc_tracer.h:71
Trace record containing the key-values from the trace.
Definition vlc_tracer.h:83

Referenced by RenderPicture(), and TraceRender().

Function Documentation

◆ vlc_tracer_Create()

struct vlc_tracer * vlc_tracer_Create ( vlc_object_t * parent,
const char * name )

Create a tracer object.

Note
This function is for advanced debugging/testing. Use vlc_object_get_tracer() to get the existing tracer.
Parameters
parentparent object used to create the tracer
namemodule to load or NULL for the default one
Returns
a valid tracer or NULL in case of error

References unlikely, vlc_module_load(), VLC_OBJECT, vlc_object_delete, vlc_object_logger, and vlc_tracer_load().

Referenced by libvlc_InternalInit().

◆ vlc_tracer_Destroy()

void vlc_tracer_Destroy ( struct vlc_tracer * tracer)

◆ vlc_tracer_entry_FromDouble()

struct vlc_tracer_entry vlc_tracer_entry_FromDouble ( const char * key,
double value )
inlinestatic

◆ vlc_tracer_entry_FromInt()

struct vlc_tracer_entry vlc_tracer_entry_FromInt ( const char * key,
int64_t value )
inlinestatic

◆ vlc_tracer_entry_FromString()

struct vlc_tracer_entry vlc_tracer_entry_FromString ( const char * key,
const char * value )
inlinestatic

◆ vlc_tracer_entry_FromUnsigned()

struct vlc_tracer_entry vlc_tracer_entry_FromUnsigned ( const char * key,
uint64_t value )
inlinestatic

◆ vlc_tracer_TraceWithTs()

void vlc_tracer_TraceWithTs ( struct vlc_tracer * tracer,
vlc_tick_t ts,
const struct vlc_tracer_trace * trace )

Emit traces.

Parameters
tracertracer emitting the traces
tstimestamp of the current trace
tracethe trace to register with its list of key / value parameters. Key must be a not NULL string. Value has to be defined with one of the type defined in the vlc_tracer_entry union.

References container_of, vlc_tracer_module::opaque, vlc_tracer::ops, vlc_tracer_operations::trace, and vlc_tracer_module::tracer.