GstElement *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);