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/gst.h>

Description

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.

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 gst_element_new() 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

 

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