Top |
Tracing modules will subclass GstTracer and register through
gst_tracing_register()
. Modules can attach to various hook-types - see
gst_tracing_register_hook()
. When invoked they receive hook specific
contextual data, which they must not modify.
gboolean gst_tracer_register (GstPlugin *plugin
,const gchar *name
,GType type
);
Create a new tracer-factory capable of instantiating objects of the
type
and add the factory to plugin
.
void gst_tracing_register_hook (GstTracer *tracer
,const gchar *detail
,GCallback func
);
Register func
to be called when the trace hook detail
is getting invoked.
Use NULL
for detail
to register to all hooks.
void (*GstTracerHookBinAddPost) (GObject *self
,GstClockTime ts
,GstBin *bin
,GstElement *element
,gboolean result
);
Post-hook for gst_bin_add()
named "bin-add-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
bin |
the bin |
|
element |
the element |
|
result |
the result of |
void (*GstTracerHookBinAddPre) (GObject *self
,GstClockTime ts
,GstBin *bin
,GstElement *element
);
Pre-hook for gst_bin_add()
named "bin-add-pre".
void (*GstTracerHookBinRemovePost) (GObject *self
,GstClockTime ts
,GstBin *bin
,gboolean result
);
Post-hook for gst_bin_remove()
named "bin-remove-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
bin |
the bin |
|
result |
the result of |
void (*GstTracerHookBinRemovePre) (GObject *self
,GstClockTime ts
,GstBin *bin
,GstElement *element
);
Pre-hook for gst_bin_remove()
named "bin-remove-pre".
void (*GstTracerHookElementAddPad) (GObject *self
,GstClockTime ts
,GstElement *element
,GstPad *pad
);
Hook for gst_element_add_pad()
named "element-add-pad".
void (*GstTracerHookElementChangeStatePost) (GObject *self
,GstClockTime ts
,GstElement *element
,GstStateChange transition
,GstStateChangeReturn result
);
Post-hook for gst_element_change_state()
named "element-change-state-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
element |
the element |
|
transition |
the transition |
|
result |
the result of |
void (*GstTracerHookElementChangeStatePre) (GObject *self
,GstClockTime ts
,GstElement *element
,GstStateChange transition
);
Pre-hook for gst_element_change_state()
named "element-change-state-pre".
void (*GstTracerHookElementNew) (GObject *self
,GstClockTime ts
,GstElement *element
);
Hook for gst_element_new()
named "element-new".
void (*GstTracerHookElementPostMessagePost) (GObject *self
,GstClockTime ts
,GstElement *element
,gboolean res
);
Pre-hook for gst_element_post_message()
named "element-post-message-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
element |
the element |
|
res |
the result of |
void (*GstTracerHookElementPostMessagePre) (GObject *self
,GstClockTime ts
,GstElement *element
,GstMessage *message
);
Pre-hook for gst_element_post_message()
named "element-post-message-pre".
void (*GstTracerHookElementQueryPost) (GObject *self
,GstClockTime ts
,GstElement *element
,GstQuery *query
,gboolean res
);
Post-hook for gst_element_query()
named "element-query-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
element |
the element |
|
query |
the query |
|
res |
the result of |
void (*GstTracerHookElementQueryPre) (GObject *self
,GstClockTime ts
,GstElement *element
,GstQuery *query
);
Pre-hook for gst_element_query()
named "element-query-pre".
void (*GstTracerHookElementRemovePad) (GObject *self
,GstClockTime ts
,GstElement *element
,GstPad *pad
);
Hook for gst_element_remove_pad()
named "element-remove-pad".
void (*GstTracerHookPadLinkPost) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
,GstPadLinkReturn result
);
Post-hook for gst_pad_link()
named "pad-link-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
srcpad |
the srcpad |
|
sinkpad |
the sinkpad |
|
result |
the result of |
void (*GstTracerHookPadLinkPre) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
);
Pre-hook for gst_pad_link()
named "pad-link-pre".
void (*GstTracerHookPadPullRangePost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstBuffer *buffer
,GstFlowReturn res
);
Post-hook for gst_pad_pull_range()
named "pad-pull-range-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
pad |
the pad |
|
buffer |
the buffer |
|
res |
the result of |
void (*GstTracerHookPadPullRangePre) (GObject *self
,GstClockTime ts
,GstPad *pad
,guint64 offset
,guint size
);
Pre-hook for gst_pad_pull_range()
named "pad-pull-range-pre".
void (*GstTracerHookPadPushEventPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,gboolean res
);
Post-hook for gst_pad_push_event()
named "pad-push-event-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
pad |
the pad |
|
res |
the result of |
void (*GstTracerHookPadPushEventPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstEvent *event
);
Pre-hook for gst_pad_push_event()
named "pad-push-event-pre".
void (*GstTracerHookPadPushListPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstFlowReturn res
);
Post-hook for gst_pad_push_list()
named "pad-push-list-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
pad |
the pad |
|
res |
the result of |
void (*GstTracerHookPadPushListPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstBufferList *list
);
Pre-hook for gst_pad_push_list()
named "pad-push-list-pre".
void (*GstTracerHookPadPushPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstFlowReturn res
);
Post-hook for gst_pad_push()
named "pad-push-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
pad |
the pad |
|
res |
the result of |
void (*GstTracerHookPadPushPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstBuffer *buffer
);
Pre-hook for gst_pad_push()
named "pad-push-pre".
void (*GstTracerHookPadQueryPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstQuery *query
,gboolean res
);
Post-hook for gst_pad_query()
named "pad-query-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
pad |
the pad |
|
query |
the query |
|
res |
the result of |
void (*GstTracerHookPadQueryPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstQuery *query
);
Pre-hook for gst_pad_query()
named "pad-query-pre".
void (*GstTracerHookPadUnlinkPost) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
,gboolean result
);
Post-hook for gst_pad_unlink()
named "pad-unlink-post".
self |
the tracer instance |
|
ts |
the current timestamp |
|
srcpad |
the srcpad |
|
sinkpad |
the sinkpad |
|
result |
the result of |
void (*GstTracerHookPadUnlinkPre) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
);
Pre-hook for gst_pad_unlink()
named "pad-unlink-pre".
“params”
property“params” gchar *
Extra configuration parameters.
Flags: Read / Write / Construct
Default value: NULL