| 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 |