From bfd2b35dda34bd54346adf0293f9947dfa32ec06 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 20 Jun 2006 14:57:09 +0000 Subject: [PATCH] Added documentation for the rtsp plugin. Fixes #345393. Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * gst/rtsp/gstrtpdec.c: (gst_rtpdec_class_init): * gst/rtsp/gstrtspsrc.c: * gst/rtsp/gstrtspsrc.h: Added documentation for the rtsp plugin. Fixes #345393. --- ChangeLog | 10 +++++ docs/plugins/Makefile.am | 2 + .../gst-plugins-good-plugins-docs.sgml | 2 + .../gst-plugins-good-plugins-sections.txt | 31 +++++++++++++ gst/rtsp/gstrtpdec.c | 18 +++++++- gst/rtsp/gstrtspsrc.c | 43 +++++++++++++++++++ gst/rtsp/gstrtspsrc.h | 10 +---- 7 files changed, 107 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 085fe0fb4c..0fd65fb03c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2006-06-20 Wim Taymans + + * docs/plugins/Makefile.am: + * docs/plugins/gst-plugins-good-plugins-docs.sgml: + * docs/plugins/gst-plugins-good-plugins-sections.txt: + * gst/rtsp/gstrtpdec.c: (gst_rtpdec_class_init): + * gst/rtsp/gstrtspsrc.c: + * gst/rtsp/gstrtspsrc.h: + Added documentation for the rtsp plugin. Fixes #345393. + 2006-06-20 Wim Taymans * gst/rtsp/rtspconnection.c: (inet_aton), (rtsp_connection_send), diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am index 6e3589f708..cb3decc440 100644 --- a/docs/plugins/Makefile.am +++ b/docs/plugins/Makefile.am @@ -82,6 +82,8 @@ EXTRA_HFILES = \ $(top_srcdir)/gst/level/gstlevel.h \ $(top_srcdir)/gst/goom/gstgoom.h \ $(top_srcdir)/gst/id3demux/gstid3demux.h \ + $(top_srcdir)/gst/rtsp/gstrtpdec.h \ + $(top_srcdir)/gst/rtsp/gstrtspsrc.h \ $(top_srcdir)/gst/wavparse/gstwavparse.h \ $(top_srcdir)/ext/cairo/gsttimeoverlay.h \ $(top_srcdir)/ext/cdio/gstcdiocddasrc.h \ diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml index b77f46f67e..41cdc90270 100644 --- a/docs/plugins/gst-plugins-good-plugins-docs.sgml +++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml @@ -35,6 +35,8 @@ + + diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt index 81007495f0..ac57b606b4 100644 --- a/docs/plugins/gst-plugins-good-plugins-sections.txt +++ b/docs/plugins/gst-plugins-good-plugins-sections.txt @@ -156,6 +156,37 @@ GST_JPEGENC_CLASS GST_IS_JPEGENC_CLASS +
+element-rtspsrc +GstRTSPProto +GstRTSPSrc +rtspsrc + +GstRTSPStream +GstRTSPSrcClass +GST_RTSPSRC +GST_IS_RTSPSRC +GST_TYPE_RTSPSRC +gst_rtspsrc_get_type +GST_RTSPSRC_CLASS +GST_IS_RTSPSRC_CLASS +
+ +
+element-rtpdec +GstRTPDec +rtpdec + +gst_rtpdec_plugin_init +GstRTPDecClass +GST_RTPDEC +GST_IS_RTPDEC +GST_TYPE_RTPDEC +gst_rtpdec_get_type +GST_RTPDEC_CLASS +GST_IS_RTPDEC_CLASS +
+
element-smokedec GstSmokeDec diff --git a/gst/rtsp/gstrtpdec.c b/gst/rtsp/gstrtpdec.c index c22d4ccafb..399174239d 100644 --- a/gst/rtsp/gstrtpdec.c +++ b/gst/rtsp/gstrtpdec.c @@ -18,6 +18,19 @@ */ /* Element-Checklist-Version: 5 */ +/** + * SECTION:element-rtpdec + * + * + * + * A simple RTP session manager used internally by rtspsrc. + * + * + * + * Last reviewed on 2006-06-20 (0.10.4) + */ + + #include "gstrtpdec.h" GST_DEBUG_CATEGORY (rtpdec_debug); @@ -138,7 +151,10 @@ gst_rtpdec_class_init (gpointer g_class) gobject_class->set_property = gst_rtpdec_set_property; gobject_class->get_property = gst_rtpdec_get_property; - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SKIP, g_param_spec_int ("skip", "skip", "skip", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */ + /* FIXME, this is unused and probably copied from somewhere */ + g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SKIP, + g_param_spec_int ("skip", "Skip", "skip (unused)", G_MININT, G_MAXINT, 0, + G_PARAM_READWRITE)); parent_class = g_type_class_peek_parent (klass); diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 4554dc0346..c909415f84 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -16,6 +16,49 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION:element-rtspsrc + * + * + * + * Makes a connection to an RTSP server and read the data. + * rtspsrc strictly follows RFC 2326 and therefore does not (yet) support + * RealMedia/Quicktime/Microsoft extensions. + * + * + * RTSP supports transport over TCP or UDP in unicast or multicast mode. By + * default rtspsrc will negotiate a connection in the following order: + * UDP unicast/UDP multicast/TCP. The order cannot be changed but the allowed + * protocols can be controlled with the "protocols" property. + * + * + * rtspsrc currently understands SDP as the format of the session description. + * For each stream listed in the SDP a new rtp_stream%d pad will be created + * with caps derived from the SDP media description. This is a caps of mime type + * "application/x-rtp" that can be connected to any available rtp depayloader + * element. + * + * + * rtspsrc will internally instantiate an RTP session manager element + * that will handle the RTCP messages to and from the server, jitter removal, + * packet reordering along with providing a clock for the pipeline. + * This feature is however currently not yet implemented. + * + * + * rtspsrc acts like a live source and will therefore only generate data in the + * PLAYING state. + * + * Example launch line + * + * + * gst-launch rtspsrc location=rtsp://some.server/url ! fakesink + * + * Establish a connection to an RTSP server and send the stream to a fakesink. + * + * + * + * Last reviewed on 2006-06-20 (0.10.4) + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/gst/rtsp/gstrtspsrc.h b/gst/rtsp/gstrtspsrc.h index 32a7735bb9..fa19677dc1 100644 --- a/gst/rtsp/gstrtspsrc.h +++ b/gst/rtsp/gstrtspsrc.h @@ -23,9 +23,7 @@ #include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS #include "gstrtsp.h" #include "rtsp.h" @@ -103,10 +101,6 @@ struct _GstRTSPSrcClass { GType gst_rtspsrc_get_type(void); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - +G_END_DECLS #endif /* __GST_RTSPSRC_H__ */