mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-19 00:01:23 +00:00
37 lines
856 B
C
37 lines
856 B
C
#include <gst/gst.h>
|
|
|
|
static void
|
|
link_to_multiplexer (GstPad * tolink_pad, GstElement * mux)
|
|
{
|
|
GstPad *pad;
|
|
gchar *srcname, *sinkname;
|
|
|
|
srcname = gst_pad_get_name (tolink_pad);
|
|
pad = gst_element_get_compatible_pad (mux, tolink_pad, NULL);
|
|
gst_pad_link (tolink_pad, pad);
|
|
sinkname = gst_pad_get_name (pad);
|
|
gst_object_unref (GST_OBJECT (pad));
|
|
|
|
g_print ("A new pad %s was created and linked to %s\n", sinkname, srcname);
|
|
g_free (sinkname);
|
|
g_free (srcname);
|
|
}
|
|
|
|
static void
|
|
some_function (GstElement * tee)
|
|
{
|
|
GstPad *pad;
|
|
gchar *name;
|
|
|
|
pad = gst_element_request_pad_simple (tee, "src%d");
|
|
name = gst_pad_get_name (pad);
|
|
g_print ("A new pad %s was created\n", name);
|
|
g_free (name);
|
|
|
|
/* here, you would link the pad */
|
|
|
|
/* [..] */
|
|
|
|
/* and, after doing that, free our reference */
|
|
gst_object_unref (GST_OBJECT (pad));
|
|
}
|