diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2006-08-16 09:48:26 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2006-08-16 09:48:26 +0000 |
commit | 6eedcfbc8c493079db829b5f67ccd1bd791c1313 (patch) | |
tree | 698ae29c418336a8acc2ed4c8262690e9eb75510 /gst/rtsp/gstrtspsrc.h | |
parent | 64faced49c74be6cfb7c8b215e7e782dec6ed5ee (diff) |
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.
Diffstat (limited to 'gst/rtsp/gstrtspsrc.h')
-rw-r--r-- | gst/rtsp/gstrtspsrc.h | 38 |
1 files changed, 22 insertions, 16 deletions
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 { |