diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2006-09-29 15:37:29 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2006-09-29 15:37:29 +0000 |
commit | 6e0855034567eb50e9e2b1d897e6d0f39f10ec4b (patch) | |
tree | 401843efc4c586a03eee96a910abb017bd731d79 /gst/rtsp/gstrtspsrc.h | |
parent | fcd901a5bf0edad1eb198758da293d0ec34269cf (diff) |
gst/rtsp/URLS: Add some more URLs.
Original commit message from CVS:
* gst/rtsp/URLS:
Add some more URLs.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
(gst_rtspsrc_init), (gst_rtspsrc_finalize),
(gst_rtspsrc_set_property), (gst_rtspsrc_get_property),
(gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_loop_udp), (gst_rtspsrc_loop_send_cmd),
(gst_rtspsrc_loop), (gst_rtspsrc_send),
(gst_rtspsrc_parse_methods), (gst_rtspsrc_open),
(gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause),
(gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
* gst/rtsp/gstrtspsrc.h:
Add timeout property to control UDP timeouts.
Fix error messages.
Also start a loop function when operating in UDP mode so that we can
do some more stuff async.
Handle element messages from udpsrc to detect timeouts. If a timeout
happens we currently generate an error.
API: rtspsrc::timeout property.
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
(gst_udpsrc_create):
Really implement the timeout in microseconds and not milliseconds.
Diffstat (limited to 'gst/rtsp/gstrtspsrc.h')
-rw-r--r-- | gst/rtsp/gstrtspsrc.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gst/rtsp/gstrtspsrc.h b/gst/rtsp/gstrtspsrc.h index 53504cff..21fb073e 100644 --- a/gst/rtsp/gstrtspsrc.h +++ b/gst/rtsp/gstrtspsrc.h @@ -61,10 +61,16 @@ G_BEGIN_DECLS (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTSPSRC)) #define GST_IS_RTSPSRC_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTSPSRC)) +#define GST_RTSPSRC_CAST(obj) \ + ((GstRTSPSrc *)(obj)) typedef struct _GstRTSPSrc GstRTSPSrc; typedef struct _GstRTSPSrcClass GstRTSPSrcClass; +#define GST_RTSP_LOOP_GET_COND(rtsp) (GST_RTSPSRC_CAST(rtsp)->loop_cond) +#define GST_RTSP_LOOP_WAIT(rtsp) (g_cond_wait(GST_RTSP_LOOP_GET_COND (rtsp), GST_OBJECT_GET_LOCK (rtsp))) +#define GST_RTSP_LOOP_SIGNAL(rtsp) (g_cond_signal(GST_RTSP_LOOP_GET_COND (rtsp))) + /** * GstRTSPProto: * @GST_RTSP_PROTO_UDP_UNICAST: Use unicast UDP transfer. @@ -126,16 +132,21 @@ struct _GstRTSPSrc { GstSegment segment; gboolean running; + /* cond to signal loop */ + GCond *loop_cond; + gint loop_cmd; + gint numstreams; GList *streams; GstStructure *props; gchar *location; RTSPUrl *url; + GstRTSPProto protocols; gboolean debug; guint retry; + guint64 timeout; - GstRTSPProto protocols; /* supported methods */ gint methods; |