How to use g_signal_connect to connect gstrtpbin with depayloader(in both case Audio+Video together)
arpi d
reachtoarpi at gmail.com
Sun Jul 31 21:15:20 PDT 2011
I am writing client code which receives audio+video.
When I am trying to connect rtpbin and depayloader how to know which session
is this?
Actually,I am writing the code in C and am trying to use g_signal_connect.
So that I can use
g_signal_connect (rtpbin, "pad-added", G_CALLBACK (pad_added_cb),
videodepay);
g_signal_connect (rtpbin, "pad-added", G_CALLBACK (pad_added_cb),
audiodepay);
and the pad_added_cb handler is:
/* will be called when rtpbin has validated a payload that we can
depayload */static void
pad_added_cb (GstElement * rtpbin, GstPad * new_pad, GstElement * depay)
{
GstPad *sinkpad;
GstPadLinkReturn lres;
g_print ("new payload on pad: %s\n", GST_PAD_NAME (new_pad));
sinkpad = gst_element_get_static_pad (depay, "sink");
g_assert (sinkpad);
lres = gst_pad_link (new_pad, sinkpad);
g_assert (lres == GST_PAD_LINK_OK);
gst_object_unref (sinkpad);
}
my client pipeline is:
VIDEO_DEC="rtph264depay ! ffdec_h264"
AUDIO_DEC="rtpmp4gdepay ! faad"
VIDEO_SINK="ffmpegcolorspace ! autovideosink"
AUDIO_SINK="autoaudiosink"
DEST=127.0.0.1
LATENCY=100
gst-launch -v gstrtpbin name=rtpbin \
udpsrc caps=$VIDEO_CAPS port=5000 ! rtpbin.recv_rtp_sink_0 \
rtpbin. ! $VIDEO_DEC ! $VIDEO_SINK \
udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \
rtpbin.send_rtcp_src_0 ! udpsink port=5005 host=$DEST sync=false
async=false
udpsrc caps=$AUDIO_CAPS port=5002 ! rtpbin.recv_rtp_sink_1 \
rtpbin. ! $AUDIO_DEC ! $AUDIO_SINK \
udpsrc port=5003 ! rtpbin.recv_rtcp_sink_1 \
rtpbin.send_rtcp_src_1 ! udpsink port=5007 host=$DEST sync=false async=false
Same thing as above pipeline in C language I am writing.
Please reply.
If you know other way please do let me know.
Thaks in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110731/669b5488/attachment.html>
More information about the gstreamer-devel
mailing list