| 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
.
plugin |
A GstPlugin, or |
[allow-none] |
name |
The name for registering |
|
type |
GType of tracer to register |
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".