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