From 485d25aef1318f18e41c6b6f224deb37149d9632 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 21 Sep 2005 17:53:26 +0000 Subject: gst/rtsp/gstrtspsrc.c: More SDP parsing and caps setting. Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_rtpmap), (gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_send), (gst_rtspsrc_change_state): More SDP parsing and caps setting. Do NO_PREROLL differently. add pads only after negotiated. * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_getcaps): Implement the getcaps function. --- gst/udp/gstudpsrc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'gst/udp/gstudpsrc.c') diff --git a/gst/udp/gstudpsrc.c b/gst/udp/gstudpsrc.c index d992151f..5505d6b0 100644 --- a/gst/udp/gstudpsrc.c +++ b/gst/udp/gstudpsrc.c @@ -93,6 +93,7 @@ static void gst_udpsrc_init (GstUDPSrc * udpsrc); static void gst_udpsrc_uri_handler_init (gpointer g_iface, gpointer iface_data); +static GstCaps *gst_udpsrc_getcaps (GstBaseSrc * src); static GstFlowReturn gst_udpsrc_create (GstPushSrc * psrc, GstBuffer ** buf); static gboolean gst_udpsrc_start (GstBaseSrc * bsrc); static gboolean gst_udpsrc_stop (GstBaseSrc * bsrc); @@ -189,6 +190,7 @@ gst_udpsrc_class_init (GstUDPSrc * klass) gstbasesrc_class->start = gst_udpsrc_start; gstbasesrc_class->stop = gst_udpsrc_stop; gstbasesrc_class->unlock = gst_udpsrc_unlock; + gstbasesrc_class->get_caps = gst_udpsrc_getcaps; gstpushsrc_class->create = gst_udpsrc_create; @@ -205,6 +207,19 @@ gst_udpsrc_init (GstUDPSrc * udpsrc) udpsrc->uri = g_strdup (UDP_DEFAULT_URI); } +static GstCaps * +gst_udpsrc_getcaps (GstBaseSrc * src) +{ + GstUDPSrc *udpsrc; + + udpsrc = GST_UDPSRC (src); + + if (udpsrc->caps) + return gst_caps_ref (udpsrc->caps); + else + return gst_caps_new_any (); +} + static GstFlowReturn gst_udpsrc_create (GstPushSrc * psrc, GstBuffer ** buf) { -- cgit