| GStreamer 0.8 Core Reference Manual |
|---|
GstProbeGstProbe — Receive callbacks of data passing |
#include <gst/gst.h>
GstProbe;
gboolean (*GstProbeCallback) (GstProbe *probe,
GstData **data,
gpointer user_data);
GstProbe* gst_probe_new (gboolean single_shot,
GstProbeCallback callback,
gpointer user_data);
void gst_probe_destroy (GstProbe *probe);
gboolean gst_probe_perform (GstProbe *probe,
GstData **data);
GstProbeDispatcher;
GstProbeDispatcher* gst_probe_dispatcher_new
(void);
void gst_probe_dispatcher_destroy (GstProbeDispatcher *disp);
void gst_probe_dispatcher_init (GstProbeDispatcher *disp);
void gst_probe_dispatcher_set_active (GstProbeDispatcher *disp,
gboolean active);
void gst_probe_dispatcher_add_probe (GstProbeDispatcher *disp,
GstProbe *probe);
void gst_probe_dispatcher_remove_probe
(GstProbeDispatcher *disp,
GstProbe *probe);
gboolean gst_probe_dispatcher_dispatch (GstProbeDispatcher *disp,
GstData **data);
PadProbes are used to be signalled with a callback when certain GstData passes through pads.
Probes are usually used in combination with a probe dispatcher that will enumerate all registered probes to signal them.
typedef struct {
gboolean single_shot;
GstProbeCallback callback;
gpointer user_data;
} GstProbe;
The probe structure
gboolean (*GstProbeCallback) (GstProbe *probe, GstData **data, gpointer user_data);
The function that will be called when a probe is activated.
| probe : | The probe that signalled the callback |
| data : | The GstData that triggered the probe |
| user_data : | user data |
| Returns : | FALSE if the GstData should be removed from the stream. |
GstProbe* gst_probe_new (gboolean single_shot, GstProbeCallback callback, gpointer user_data);
Create a new probe with the specified parameters
| single_shot : | TRUE if a single shot probe is required |
| callback : | the function to call when the probe is triggered |
| user_data : | data passed to the callback function |
| Returns : | a new GstProbe. |
void gst_probe_destroy (GstProbe *probe);
Free the memory associated with the probe.
| probe : | The probe to destroy |
gboolean gst_probe_perform (GstProbe *probe, GstData **data);
Perform the callback associated with the given probe.
| probe : | The probe to trigger |
| data : | the GstData that triggered the probe. |
| Returns : | the result of the probe callback function. |
typedef struct {
gboolean active;
GSList *probes;
} GstProbeDispatcher;
The structure of the probe dispatcher
GstProbeDispatcher* gst_probe_dispatcher_new (void);
Create a new probe dispatcher
| Returns : | a new probe dispatcher. |
void gst_probe_dispatcher_destroy (GstProbeDispatcher *disp);
Free the memory allocated by the probe dispatcher. All pending probes are removed first.
| disp : | the dispatcher to destroy |
void gst_probe_dispatcher_init (GstProbeDispatcher *disp);
Initialize the dispatcher. Useful for statically allocated probe dispatchers.
| disp : | the dispatcher to initialize |
void gst_probe_dispatcher_set_active (GstProbeDispatcher *disp, gboolean active);
Activate or deactivate the given dispatcher dispatchers.
| disp : | the dispatcher to activate |
| active : | boolean to indicate activation or deactivation |
void gst_probe_dispatcher_add_probe (GstProbeDispatcher *disp, GstProbe *probe);
Adds the given probe to the dispatcher.
| disp : | the dispatcher to add the probe to |
| probe : | the probe to add to the dispatcher |
void gst_probe_dispatcher_remove_probe
(GstProbeDispatcher *disp,
GstProbe *probe);Removes the given probe from the dispatcher.
| disp : | the dispatcher to remove the probe from |
| probe : | the probe to remove from the dispatcher |
gboolean gst_probe_dispatcher_dispatch (GstProbeDispatcher *disp, GstData **data);
Trigger all registered probes on the given dispatcher.
| disp : | the dispatcher to dispatch |
| data : | the data that triggered the dispatch |
| Returns : | TRUE if all callbacks returned TRUE. |
| << GstPluginFeature | GstQuery >> |