![]() |
![]() |
![]() |
GStreamer 1.0 Core Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
#include <gst/gst.h> struct GstTracer; gboolean gst_tracer_register (GstPlugin *plugin
,const gchar *name
,GType type
); void gst_tracing_register_hook (GstTracer *tracer
,const gchar *detail
,GCallback func
); void (*GstTracerHookBinAddPost) (GObject *self
,GstClockTime ts
,GstBin *bin
,GstElement *element
,gboolean result
); void (*GstTracerHookBinAddPre) (GObject *self
,GstClockTime ts
,GstBin *bin
,GstElement *element
); void (*GstTracerHookBinRemovePost) (GObject *self
,GstClockTime ts
,GstBin *bin
,gboolean result
); void (*GstTracerHookBinRemovePre) (GObject *self
,GstClockTime ts
,GstBin *bin
,GstElement *element
); void (*GstTracerHookElementAddPad) (GObject *self
,GstClockTime ts
,GstElement *element
,GstPad *pad
); void (*GstTracerHookElementChangeStatePost) (GObject *self
,GstClockTime ts
,GstElement *element
,GstStateChange transition
,GstStateChangeReturn result
); void (*GstTracerHookElementChangeStatePre) (GObject *self
,GstClockTime ts
,GstElement *element
,GstStateChange transition
); void (*GstTracerHookElementNew) (GObject *self
,GstClockTime ts
,GstElement *element
); void (*GstTracerHookElementPostMessagePost) (GObject *self
,GstClockTime ts
,GstElement *element
,gboolean res
); void (*GstTracerHookElementPostMessagePre) (GObject *self
,GstClockTime ts
,GstElement *element
,GstMessage *message
); void (*GstTracerHookElementQueryPost) (GObject *self
,GstClockTime ts
,GstElement *element
,GstQuery *query
,gboolean res
); void (*GstTracerHookElementQueryPre) (GObject *self
,GstClockTime ts
,GstElement *element
,GstQuery *query
); void (*GstTracerHookElementRemovePad) (GObject *self
,GstClockTime ts
,GstElement *element
,GstPad *pad
); void (*GstTracerHookPadLinkPost) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
,GstPadLinkReturn result
); void (*GstTracerHookPadLinkPre) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
); void (*GstTracerHookPadPullRangePost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstBuffer *buffer
,GstFlowReturn res
); void (*GstTracerHookPadPullRangePre) (GObject *self
,GstClockTime ts
,GstPad *pad
,guint64 offset
,guint size
); void (*GstTracerHookPadPushEventPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,gboolean res
); void (*GstTracerHookPadPushEventPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstEvent *event
); void (*GstTracerHookPadPushListPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstFlowReturn res
); void (*GstTracerHookPadPushListPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstBufferList *list
); void (*GstTracerHookPadPushPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstFlowReturn res
); void (*GstTracerHookPadPushPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstBuffer *buffer
); void (*GstTracerHookPadQueryPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstQuery *query
,gboolean res
); void (*GstTracerHookPadQueryPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstQuery *query
); void (*GstTracerHookPadUnlinkPost) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
,gboolean result
); void (*GstTracerHookPadUnlinkPre) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
);
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
.
|
A GstPlugin, or NULL for a static typefind function. [allow-none]
|
|
The name for registering |
|
GType of tracer to register |
Returns : |
TRUE , if the registering succeeded, FALSE on error |
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.
|
the tracer |
|
the detailed hook |
|
the callback. [scope async] |
void (*GstTracerHookBinAddPost) (GObject *self
,GstClockTime ts
,GstBin *bin
,GstElement *element
,gboolean result
);
Post-hook for gst_bin_add()
named "bin-add-post".
|
the tracer instance |
|
the current timestamp |
|
the bin |
|
the element |
|
the result of gst_bin_add()
|
void (*GstTracerHookBinAddPre) (GObject *self
,GstClockTime ts
,GstBin *bin
,GstElement *element
);
Pre-hook for gst_bin_add()
named "bin-add-pre".
|
the tracer instance |
|
the current timestamp |
|
the bin |
|
the element |
void (*GstTracerHookBinRemovePost) (GObject *self
,GstClockTime ts
,GstBin *bin
,gboolean result
);
Post-hook for gst_bin_remove()
named "bin-remove-post".
|
the tracer instance |
|
the current timestamp |
|
the bin |
|
the result of gst_bin_remove()
|
void (*GstTracerHookBinRemovePre) (GObject *self
,GstClockTime ts
,GstBin *bin
,GstElement *element
);
Pre-hook for gst_bin_remove()
named "bin-remove-pre".
|
the tracer instance |
|
the current timestamp |
|
the bin |
|
the element |
void (*GstTracerHookElementAddPad) (GObject *self
,GstClockTime ts
,GstElement *element
,GstPad *pad
);
Hook for gst_element_add_pad()
named "element-add-pad".
|
the tracer instance |
|
the current timestamp |
|
the element |
|
the 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".
|
the tracer instance |
|
the current timestamp |
|
the element |
|
the transition |
|
the result of gst_pad_push()
|
void (*GstTracerHookElementChangeStatePre) (GObject *self
,GstClockTime ts
,GstElement *element
,GstStateChange transition
);
Pre-hook for gst_element_change_state()
named "element-change-state-pre".
|
the tracer instance |
|
the current timestamp |
|
the element |
|
the transition |
void (*GstTracerHookElementNew) (GObject *self
,GstClockTime ts
,GstElement *element
);
Hook for gst_element_new()
named "element-new".
|
the tracer instance |
|
the current timestamp |
|
the element |
void (*GstTracerHookElementPostMessagePost) (GObject *self
,GstClockTime ts
,GstElement *element
,gboolean res
);
Pre-hook for gst_element_post_message()
named "element-post-message-post".
|
the tracer instance |
|
the current timestamp |
|
the element |
|
the result of gst_element_post_message()
|
void (*GstTracerHookElementPostMessagePre) (GObject *self
,GstClockTime ts
,GstElement *element
,GstMessage *message
);
Pre-hook for gst_element_post_message()
named "element-post-message-pre".
|
the tracer instance |
|
the current timestamp |
|
the element |
|
the message |
void (*GstTracerHookElementQueryPost) (GObject *self
,GstClockTime ts
,GstElement *element
,GstQuery *query
,gboolean res
);
Post-hook for gst_element_query()
named "element-query-post".
|
the tracer instance |
|
the current timestamp |
|
the element |
|
the query |
|
the result of gst_element_query()
|
void (*GstTracerHookElementQueryPre) (GObject *self
,GstClockTime ts
,GstElement *element
,GstQuery *query
);
Pre-hook for gst_element_query()
named "element-query-pre".
|
the tracer instance |
|
the current timestamp |
|
the element |
|
the query |
void (*GstTracerHookElementRemovePad) (GObject *self
,GstClockTime ts
,GstElement *element
,GstPad *pad
);
Hook for gst_element_remove_pad()
named "element-remove-pad".
|
the tracer instance |
|
the current timestamp |
|
the element |
|
the pad |
void (*GstTracerHookPadLinkPost) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
,GstPadLinkReturn result
);
Post-hook for gst_pad_link()
named "pad-link-post".
|
the tracer instance |
|
the current timestamp |
|
the srcpad |
|
the sinkpad |
|
the result of gst_pad_link()
|
void (*GstTracerHookPadLinkPre) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
);
Pre-hook for gst_pad_link()
named "pad-link-pre".
|
the tracer instance |
|
the current timestamp |
|
the srcpad |
|
the sinkpad |
void (*GstTracerHookPadPullRangePost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstBuffer *buffer
,GstFlowReturn res
);
Post-hook for gst_pad_pull_range()
named "pad-pull-range-post".
|
the tracer instance |
|
the current timestamp |
|
the pad |
|
the buffer |
|
the result of gst_pad_pull_range()
|
void (*GstTracerHookPadPullRangePre) (GObject *self
,GstClockTime ts
,GstPad *pad
,guint64 offset
,guint size
);
Pre-hook for gst_pad_pull_range()
named "pad-pull-range-pre".
|
the tracer instance |
|
the current timestamp |
|
the pad |
|
the stream offset |
|
the requested size |
void (*GstTracerHookPadPushEventPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,gboolean res
);
Post-hook for gst_pad_push_event()
named "pad-push-event-post".
|
the tracer instance |
|
the current timestamp |
|
the pad |
|
the result of gst_pad_push_event()
|
void (*GstTracerHookPadPushEventPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstEvent *event
);
Pre-hook for gst_pad_push_event()
named "pad-push-event-pre".
|
the tracer instance |
|
the current timestamp |
|
the pad |
|
the event |
void (*GstTracerHookPadPushListPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstFlowReturn res
);
Post-hook for gst_pad_push_list()
named "pad-push-list-post".
|
the tracer instance |
|
the current timestamp |
|
the pad |
|
the result of gst_pad_push_list()
|
void (*GstTracerHookPadPushListPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstBufferList *list
);
Pre-hook for gst_pad_push_list()
named "pad-push-list-pre".
|
the tracer instance |
|
the current timestamp |
|
the pad |
|
the buffer-list |
void (*GstTracerHookPadPushPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstFlowReturn res
);
Post-hook for gst_pad_push()
named "pad-push-post".
|
the tracer instance |
|
the current timestamp |
|
the pad |
|
the result of gst_pad_push()
|
void (*GstTracerHookPadPushPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstBuffer *buffer
);
Pre-hook for gst_pad_push()
named "pad-push-pre".
|
the tracer instance |
|
the current timestamp |
|
the pad |
|
the buffer |
void (*GstTracerHookPadQueryPost) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstQuery *query
,gboolean res
);
Post-hook for gst_pad_query()
named "pad-query-post".
|
the tracer instance |
|
the current timestamp |
|
the pad |
|
the query |
|
the result of gst_pad_query()
|
void (*GstTracerHookPadQueryPre) (GObject *self
,GstClockTime ts
,GstPad *pad
,GstQuery *query
);
Pre-hook for gst_pad_query()
named "pad-query-pre".
|
the tracer instance |
|
the current timestamp |
|
the pad |
|
the query |
void (*GstTracerHookPadUnlinkPost) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
,gboolean result
);
Post-hook for gst_pad_unlink()
named "pad-unlink-post".
|
the tracer instance |
|
the current timestamp |
|
the srcpad |
|
the sinkpad |
|
the result of gst_pad_push()
|
void (*GstTracerHookPadUnlinkPre) (GObject *self
,GstClockTime ts
,GstPad *srcpad
,GstPad *sinkpad
);
Pre-hook for gst_pad_unlink()
named "pad-unlink-pre".
|
the tracer instance |
|
the current timestamp |
|
the srcpad |
|
the sinkpad |