From 6eedcfbc8c493079db829b5f67ccd1bd791c1313 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 16 Aug 2006 09:48:26 +0000 Subject: gst/rtsp/gstrtpdec.c: Add pads after setting them up. Original commit message from CVS: * gst/rtsp/gstrtpdec.c: (gst_rtpdec_init), (gst_rtpdec_getcaps): Add pads after setting them up. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init), (gst_rtspsrc_init), (gst_rtspsrc_finalize), (gst_rtspsrc_free_stream), (gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_combine_flows), (gst_rtspsrc_loop), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause): * gst/rtsp/gstrtspsrc.h: Fix interleaved mode. - Protect streaming with lock. - Combine flows - set caps on outgoing buffers. - strip trailing \0 from data packets. - Configure RTP/RTCP in stream. Use DEBUG_OBJECT more. --- gst/rtsp/gstrtspsrc.h | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) (limited to 'gst/rtsp/gstrtspsrc.h') diff --git a/gst/rtsp/gstrtspsrc.h b/gst/rtsp/gstrtspsrc.h index fa19677d..424c512a 100644 --- a/gst/rtsp/gstrtspsrc.h +++ b/gst/rtsp/gstrtspsrc.h @@ -55,19 +55,23 @@ typedef struct _GstRTSPStream GstRTSPStream; struct _GstRTSPStream { gint id; + GstRTSPSrc *parent; + + GstFlowReturn last_ret; + + /* for interleaved mode */ gint rtpchannel; gint rtcpchannel; + GstCaps *caps; - GstRTSPSrc *parent; - - /* our udp sources */ + /* our udp sources for RTP */ GstElement *rtpsrc; GstElement *rtcpsrc; /* our udp sink back to the server */ GstElement *rtcpsink; - /* the rtp decoder */ + /* the RTP decoder */ GstElement *rtpdec; GstPad *rtpdecrtp; GstPad *rtpdecrtcp; @@ -76,23 +80,25 @@ struct _GstRTSPStream { struct _GstRTSPSrc { GstElement element; - gboolean interleaved; - GstTask *task; + /* task and mutex for interleaved mode */ + gboolean interleaved; + GstTask *task; + GStaticRecMutex *stream_rec_lock; - gint numstreams; - GList *streams; + gint numstreams; + GList *streams; - gchar *location; - gboolean debug; - guint retry; + gchar *location; + gboolean debug; + guint retry; - GstRTSPProto protocols; + GstRTSPProto protocols; /* supported options */ - gint options; + gint options; - RTSPConnection *connection; - RTSPMessage *request; - RTSPMessage *response; + RTSPConnection *connection; + RTSPMessage *request; + RTSPMessage *response; }; struct _GstRTSPSrcClass { -- cgit