[gst-devel] How to specify type of sink or src pad in gstrtpbin

Thomas Winkler wi-tom at gmx.de
Fri Jun 27 14:34:32 CEST 2008


Thanks to all who helped to solve my problem.

Now I have a Receiver and a Sender which works fine.

I've attached my sample-application for Sender and Receiver.

PS: My problem was, that I've forgotten to create a capsfilter on my
Server-Side and I've exchanged the pad_requests 

From:
ps->send_rtp_src0 = gst_element_get_static_pad(rtpbin, "send_rtp_src_0");
ps->send_rtp_sink0 = gst_element_get_request_pad(rtpbin, "send_rtp_sink_0");

To:
ps->send_rtp_sink0 = gst_element_get_request_pad(rtpbin, "send_rtp_sink_0");
ps->send_rtp_src0 = gst_element_get_static_pad(rtpbin, "send_rtp_src_0");

because in the Reference it's described that the "send_rtp_src_%d" pad is
automatically created if a pad_request to "send_rtp_sink_%d" is called.

Thanks to all people who helped.

For all people who are looking for a rtp pipeline for gst-launch, I've
attached a gstrtp_pipe file which includes sender and receiver
pipeline-command.

Greetings,
Thomas

> -----Ursprüngliche Nachricht-----
> Von: gstreamer-devel-bounces at lists.sourceforge.net [mailto:gstreamer-
> devel-bounces at lists.sourceforge.net] Im Auftrag von Thomas Winkler
> Gesendet: Freitag, 27. Juni 2008 10:46
> An: gstreamer-devel at lists.sourceforge.net
> Betreff: Re: [gst-devel] How to specify type of sink or src pad in
> gstrtpbin
> 
> Hi,
> I've added my little (dirty) test-application.
> Sender: Sender.cpp, CRtpSender.cpp, CRtpSender.h
> Receiver: Receiver.cpp, CRtpReceiver.cpp, CRtpReceiver.h
> 
> Here's a sample of my Signalimplementation for my Sender:
> 
> Signal connect:
> g_signal_connect (m_gstrtpbin, "pad-added", G_CALLBACK (cb_new_pad),
> NULL);
> 
> Method:
> void CRtpSender::cb_new_pad(GstElement* element, GstPad* pad, gpointer
> data)
> {
> 	gchar* name;
> 
> 	name = gst_pad_get_name(pad);
> 	g_print("A new pad %s was created\n", name);
> 	g_free(name);
> 
> 	GstPad* rtpudpsinkSrc = gst_element_get_static_pad(m_udpsink_rtp,
> "src");
> 	gst_pad_link(rtpudpsinkSrc, pad);
> }
> 
> 
> But I never get this signal called (have a look into the source)
> I don't know what's wrong in my code...
> 
> Greetings,
> Thomas
> 
> 
> > -----Ursprüngliche Nachricht-----
> > Von: gstreamer-devel-bounces at lists.sourceforge.net [mailto:gstreamer-
> > devel-bounces at lists.sourceforge.net] Im Auftrag von Sreejesh
> > Gesendet: Freitag, 27. Juni 2008 07:37
> > An: gstreamer-devel at lists.sourceforge.net
> > Betreff: Re: [gst-devel] How to specify type of sink or src pad in
> > gstrtpbin
> >
> > Hi Thomas,
> >
> > You need to connect "pad-added" signal to "gstrtpbin".
> > Inside the pad-added signal handler, you need to link this pad to
> > "depayloader" pad. As you said,
> "recv_rtp_src_(id)_(ssrc)_(payload_type)"
> > is
> > a dynamic pad.
> >
> > You may also set proper "caps" for "udpsrc".
> >
> > Regards
> > Sreejesh R B
> > Sr. Project Lead.
> > Multitech Software Systems India Pvt. Ltd.
> > Bangalore, India
> >
> >
> > -----Original Message-----
> > From: gstreamer-devel-bounces at lists.sourceforge.net
> > [mailto:gstreamer-devel-bounces at lists.sourceforge.net] On Behalf Of
> > wi-tom at gmx.de
> > Sent: Friday, June 27, 2008 6:02 AM
> > To: gstreamer-devel at lists.sourceforge.net
> > Subject: Re: [gst-devel] How to specify type of sink or src pad in
> > gstrtpbin
> >
> > Yes I had.
> > But after I've startet my Receiver and Sender, this Signal was never
> sent.
> >
> > I will send my Sender and Receiver SampleCode as soon as I'm at work
> > tomorrow.
> >
> > greetings,
> > Thomas
> >
> > -------- Original-Nachricht --------
> > > Datum: Thu, 26 Jun 2008 16:40:46 -0400
> > > Von: Tristan Matthews <tristan at sat.qc.ca>
> > > An: Thomas Winkler <wi-tom at gmx.de>
> > > CC: "gstreamer-devel at lists.sourceforge.net"
> > <gstreamer-devel at lists.sourceforge.net>
> > > Betreff: Re: [gst-devel] How to specify type of sink or src pad in
> > gstrtpbin
> >
> > > Hi Thomas,
> > >
> > > Thomas Winkler wrote:
> > > >
> > > > But what signal is the right signal for my pad-creation?
> > > >
> > > > gstrtbin has only: “request-pt-map”, “on-new-ssrc”,
> > > > “on-ssrc-collision”, “on-ssrc-validated”, “on-ssrc-active”,
> > > > “on-ssrc-sdes”, “on-bye-ssrc”, “on-bye-timeout”,
> > > “on-timeout”
> > > >
> > >
> > > Did you try "pad-added"? This is usually the signal to watch for when
> > > pads are created dynamically.
> > >
> > >
> > > Best,
> > >
> > > Tristan
> >
> > --
> > Psssst! Schon vom neuen GMX MultiMessenger gehört?
> > Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger
> >
> > ------------------------------------------------------------------------
> -
> > Check out the new SourceForge.net Marketplace.
> > It's the best place to buy or sell services for
> > just about anything Open Source.
> > http://sourceforge.net/services/buy/index.php
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >
> >
> > ------------------------------------------------------------------------
> -
> > Check out the new SourceForge.net Marketplace.
> > It's the best place to buy or sell services for
> > just about anything Open Source.
> > http://sourceforge.net/services/buy/index.php
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >
> > __________ NOD32 3222 (20080626) Information __________
> >
> > Diese E-Mail wurde vom NOD32 antivirus system geprüft
> > http://www.nod32.com
> 
> 
> 
> 
> __________ NOD32 3222 (20080626) Information __________
> 
> Diese E-Mail wurde vom NOD32 antivirus system geprüft
> http://www.nod32.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gstrtp_pipe
Type: application/octet-stream
Size: 1831 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080627/04946fcf/attachment.obj>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Receiver.cpp
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080627/04946fcf/attachment.asc>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: CRtpReceiver.cpp
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080627/04946fcf/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: CRtpReceiver.h
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080627/04946fcf/attachment-0001.asc>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Sender.cpp
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080627/04946fcf/attachment-0001.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: CRtpSender.cpp
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080627/04946fcf/attachment-0002.asc>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: CRtpSender.h
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080627/04946fcf/attachment-0002.txt>


More information about the gstreamer-devel mailing list