GstTracer

GstTracer — Tracing base class

Functions

Properties

gchar * params Read / Write / Construct

Types and Values

struct GstTracer

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstTracer

Includes

#include <gst/gstprotection.h>

Description

Tracing modules will subclass GstTracer and register through gst_tracer_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.

Functions

gst_tracer_register ()

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 .

Parameters

plugin

A GstPlugin, or NULL for a static typefind function.

[allow-none]

name

The name for registering

 

type

GType of tracer to register

 

Returns

TRUE, if the registering succeeded, FALSE on error


gst_tracing_register_hook ()

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.

Parameters

tracer

the tracer

 

detail

the detailed hook

 

func

the callback.

[scope async]

GstTracerHookBinAddPost ()

void
(*GstTracerHookBinAddPost) (GObject *self,
                            GstClockTime ts,
                            GstBin *bin,
                            GstElement *element,
                            gboolean result);

Post-hook for gst_bin_add() named "bin-add-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

bin

the bin

 

element

the element

 

result

the result of gst_bin_add()

 

GstTracerHookBinAddPre ()

void
(*GstTracerHookBinAddPre) (GObject *self,
                           GstClockTime ts,
                           GstBin *bin,
                           GstElement *element);

Pre-hook for gst_bin_add() named "bin-add-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

bin

the bin

 

element

the element

 

GstTracerHookBinRemovePost ()

void
(*GstTracerHookBinRemovePost) (GObject *self,
                               GstClockTime ts,
                               GstBin *bin,
                               gboolean result);

Post-hook for gst_bin_remove() named "bin-remove-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

bin

the bin

 

result

the result of gst_bin_remove()

 

GstTracerHookBinRemovePre ()

void
(*GstTracerHookBinRemovePre) (GObject *self,
                              GstClockTime ts,
                              GstBin *bin,
                              GstElement *element);

Pre-hook for gst_bin_remove() named "bin-remove-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

bin

the bin

 

element

the element

 

GstTracerHookElementAddPad ()

void
(*GstTracerHookElementAddPad) (GObject *self,
                               GstClockTime ts,
                               GstElement *element,
                               GstPad *pad);

Hook for gst_element_add_pad() named "element-add-pad".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

element

the element

 

pad

the pad

 

GstTracerHookElementChangeStatePost ()

void
(*GstTracerHookElementChangeStatePost)
                               (GObject *self,
                                GstClockTime ts,
                                GstElement *element,
                                GstStateChange transition,
                                GstStateChangeReturn result);

Post-hook for gst_element_change_state() named "element-change-state-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

element

the element

 

transition

the transition

 

result

the result of gst_pad_push()

 

GstTracerHookElementChangeStatePre ()

void
(*GstTracerHookElementChangeStatePre) (GObject *self,
                                       GstClockTime ts,
                                       GstElement *element,
                                       GstStateChange transition);

Pre-hook for gst_element_change_state() named "element-change-state-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

element

the element

 

transition

the transition

 

GstTracerHookElementNew ()

void
(*GstTracerHookElementNew) (GObject *self,
                            GstClockTime ts,
                            GstElement *element);

Hook for whenever a new element is created, named "element-new".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

element

the element

 

GstTracerHookElementPostMessagePost ()

void
(*GstTracerHookElementPostMessagePost)
                               (GObject *self,
                                GstClockTime ts,
                                GstElement *element,
                                gboolean res);

Pre-hook for gst_element_post_message() named "element-post-message-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

element

the element

 

res

the result of gst_element_post_message()

 

GstTracerHookElementPostMessagePre ()

void
(*GstTracerHookElementPostMessagePre) (GObject *self,
                                       GstClockTime ts,
                                       GstElement *element,
                                       GstMessage *message);

Pre-hook for gst_element_post_message() named "element-post-message-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

element

the element

 

message

the message

 

GstTracerHookElementQueryPost ()

void
(*GstTracerHookElementQueryPost) (GObject *self,
                                  GstClockTime ts,
                                  GstElement *element,
                                  GstQuery *query,
                                  gboolean res);

Post-hook for gst_element_query() named "element-query-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

element

the element

 

query

the query

 

res

the result of gst_element_query()

 

GstTracerHookElementQueryPre ()

void
(*GstTracerHookElementQueryPre) (GObject *self,
                                 GstClockTime ts,
                                 GstElement *element,
                                 GstQuery *query);

Pre-hook for gst_element_query() named "element-query-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

element

the element

 

query

the query

 

GstTracerHookElementRemovePad ()

void
(*GstTracerHookElementRemovePad) (GObject *self,
                                  GstClockTime ts,
                                  GstElement *element,
                                  GstPad *pad);

Hook for gst_element_remove_pad() named "element-remove-pad".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

element

the element

 

pad

the pad

 

GstTracerHookMiniObjectCreated ()

void
(*GstTracerHookMiniObjectCreated) (GObject *self,
                                   GstClockTime ts,
                                   GstMiniObject *object);

Hook called when a GstMiniObject is created named "mini-object-created".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

object

the mini object being created

 

GstTracerHookMiniObjectDestroyed ()

void
(*GstTracerHookMiniObjectDestroyed) (GObject *self,
                                     GstClockTime ts,
                                     GstMiniObject *object);

Hook called when a GstMiniObject is being destroyed named "mini-object-destroyed".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

object

the mini object being destroyed

 

GstTracerHookMiniObjectReffed ()

void
(*GstTracerHookMiniObjectReffed) (GObject *self,
                                  GstClockTime ts,
                                  GstMiniObject *object,
                                  gint new_refcount);

Hook called when a GstMiniObject is being reffed named "mini-object-reffed".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

object

the mini object being reffed

 

refcount

the new refcount after refing object

 

GstTracerHookMiniObjectUnreffed ()

void
(*GstTracerHookMiniObjectUnreffed) (GObject *self,
                                    GstClockTime ts,
                                    GstMiniObject *object,
                                    gint new_refcount);

Hook called when a GstMiniObject is being unreffed named "mini-object-unreffed".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

object

the mini object being unreffed

 

refcount

the new refcount after unrefing object

 

GstTracerHookObjectCreated ()

void
(*GstTracerHookObjectCreated) (GObject *self,
                               GstClockTime ts,
                               GstObject *object);

Hook called when a GstObject is created named "object-created".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

object

the object being created

 

GstTracerHookObjectDestroyed ()

void
(*GstTracerHookObjectDestroyed) (GObject *self,
                                 GstClockTime ts,
                                 GstObject *object);

Hook called when a GstObject is being destroyed named "object-destroyed".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

object

the object being destroyed

 

GstTracerHookObjectReffed ()

void
(*GstTracerHookObjectReffed) (GObject *self,
                              GstClockTime ts,
                              GstObject *object,
                              gint new_refcount);

Hook called when a GstObject is being reffed named "object-reffed".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

object

the object being reffed

 

refcount

the new refcount after refing object

 

GstTracerHookObjectUnreffed ()

void
(*GstTracerHookObjectUnreffed) (GObject *self,
                                GstClockTime ts,
                                GstObject *object,
                                gint new_refcount);

Hook called when a GstObject is being unreffed named "object-unreffed"

Parameters

self

the tracer instance

 

ts

the current timestamp

 

object

the object being unreffed

 

refcount

the new refcount after unrefing object

 

GstTracerHookPadLinkPost ()

void
(*GstTracerHookPadLinkPost) (GObject *self,
                             GstClockTime ts,
                             GstPad *srcpad,
                             GstPad *sinkpad,
                             GstPadLinkReturn result);

Post-hook for gst_pad_link() named "pad-link-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

srcpad

the srcpad

 

sinkpad

the sinkpad

 

result

the result of gst_pad_link()

 

GstTracerHookPadLinkPre ()

void
(*GstTracerHookPadLinkPre) (GObject *self,
                            GstClockTime ts,
                            GstPad *srcpad,
                            GstPad *sinkpad);

Pre-hook for gst_pad_link() named "pad-link-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

srcpad

the srcpad

 

sinkpad

the sinkpad

 

GstTracerHookPadPullRangePost ()

void
(*GstTracerHookPadPullRangePost) (GObject *self,
                                  GstClockTime ts,
                                  GstPad *pad,
                                  GstBuffer *buffer,
                                  GstFlowReturn res);

Post-hook for gst_pad_pull_range() named "pad-pull-range-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

pad

the pad

 

buffer

the buffer

 

res

the result of gst_pad_pull_range()

 

GstTracerHookPadPullRangePre ()

void
(*GstTracerHookPadPullRangePre) (GObject *self,
                                 GstClockTime ts,
                                 GstPad *pad,
                                 guint64 offset,
                                 guint size);

Pre-hook for gst_pad_pull_range() named "pad-pull-range-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

pad

the pad

 

offset

the stream offset

 

size

the requested size

 

GstTracerHookPadPushEventPost ()

void
(*GstTracerHookPadPushEventPost) (GObject *self,
                                  GstClockTime ts,
                                  GstPad *pad,
                                  gboolean res);

Post-hook for gst_pad_push_event() named "pad-push-event-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

pad

the pad

 

res

the result of gst_pad_push_event()

 

GstTracerHookPadPushEventPre ()

void
(*GstTracerHookPadPushEventPre) (GObject *self,
                                 GstClockTime ts,
                                 GstPad *pad,
                                 GstEvent *event);

Pre-hook for gst_pad_push_event() named "pad-push-event-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

pad

the pad

 

event

the event

 

GstTracerHookPadPushListPost ()

void
(*GstTracerHookPadPushListPost) (GObject *self,
                                 GstClockTime ts,
                                 GstPad *pad,
                                 GstFlowReturn res);

Post-hook for gst_pad_push_list() named "pad-push-list-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

pad

the pad

 

res

the result of gst_pad_push_list()

 

GstTracerHookPadPushListPre ()

void
(*GstTracerHookPadPushListPre) (GObject *self,
                                GstClockTime ts,
                                GstPad *pad,
                                GstBufferList *list);

Pre-hook for gst_pad_push_list() named "pad-push-list-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

pad

the pad

 

list

the buffer-list

 

GstTracerHookPadPushPost ()

void
(*GstTracerHookPadPushPost) (GObject *self,
                             GstClockTime ts,
                             GstPad *pad,
                             GstFlowReturn res);

Post-hook for gst_pad_push() named "pad-push-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

pad

the pad

 

res

the result of gst_pad_push()

 

GstTracerHookPadPushPre ()

void
(*GstTracerHookPadPushPre) (GObject *self,
                            GstClockTime ts,
                            GstPad *pad,
                            GstBuffer *buffer);

Pre-hook for gst_pad_push() named "pad-push-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

pad

the pad

 

buffer

the buffer

 

GstTracerHookPadQueryPost ()

void
(*GstTracerHookPadQueryPost) (GObject *self,
                              GstClockTime ts,
                              GstPad *pad,
                              GstQuery *query,
                              gboolean res);

Post-hook for gst_pad_query() named "pad-query-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

pad

the pad

 

query

the query

 

res

the result of gst_pad_query()

 

GstTracerHookPadQueryPre ()

void
(*GstTracerHookPadQueryPre) (GObject *self,
                             GstClockTime ts,
                             GstPad *pad,
                             GstQuery *query);

Pre-hook for gst_pad_query() named "pad-query-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

pad

the pad

 

query

the query

 

GstTracerHookPadUnlinkPost ()

void
(*GstTracerHookPadUnlinkPost) (GObject *self,
                               GstClockTime ts,
                               GstPad *srcpad,
                               GstPad *sinkpad,
                               gboolean result);

Post-hook for gst_pad_unlink() named "pad-unlink-post".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

srcpad

the srcpad

 

sinkpad

the sinkpad

 

result

the result of gst_pad_push()

 

GstTracerHookPadUnlinkPre ()

void
(*GstTracerHookPadUnlinkPre) (GObject *self,
                              GstClockTime ts,
                              GstPad *srcpad,
                              GstPad *sinkpad);

Pre-hook for gst_pad_unlink() named "pad-unlink-pre".

Parameters

self

the tracer instance

 

ts

the current timestamp

 

srcpad

the srcpad

 

sinkpad

the sinkpad

 

Types and Values

struct GstTracer

struct GstTracer;

Property Details

The “params” property

  “params”                   gchar *

Extra configuration parameters.

Flags: Read / Write / Construct

Default value: NULL