rendered paste bodyGstElement *gconf;
GstElement *bin;
GstElement *tee;
GstElement *tcpserversink;
mp->priv->playbin = gst_element_factory_make ("playbin", "playbin");
bin = gst_bin_new ("bin");
/* Output sink */
gconf = gst_gconf_get_default_audio_sink ();
/* Tee the decoded output */
tee = gst_element_factory_make ("tee", "tee");
/* Serve the decoded stream to anyone interested */
tcpserversink = gst_element_factory_make ("tcpserversink", "tcp");
g_object_set (G_OBJECT (tcpserversink),
"host", "localhost",
"port", GINT_TO_POINTER (10334),
"protocol", GINT_TO_POINTER (1),
NULL);
/* Fill the bin */
gst_bin_add (GST_BIN (bin), gconf);
gst_bin_add (GST_BIN (bin), tee);
gst_bin_add (GST_BIN (bin), tcpserversink);
/* Link it */
gst_element_link (tee, gconf);
gst_element_link (tee, tcpserversink);
/* Provide bin sink as tee sink */
gst_element_add_ghost_pad (bin,
gst_element_get_pad (tee, "sink"),
"sink");
g_object_set (G_OBJECT (mp->priv->playbin), "audio-sink", bin, NULL);