[vlc-commits] rtsp: Basic authentication

Pierre Ynard git at videolan.org
Tue Oct 4 04:20:04 CEST 2011


vlc | branch: master | Pierre Ynard <linkfanel at yahoo.fr> | Tue Oct  4 04:18:47 2011 +0200| [d4b110552609f6849aea8cfbbfc49675c86c9f37] | committer: Pierre Ynard

rtsp: Basic authentication

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d4b110552609f6849aea8cfbbfc49675c86c9f37
---

 modules/stream_out/rtp.c  |   11 +++++++++++
 modules/stream_out/rtsp.c |   15 +++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/modules/stream_out/rtp.c b/modules/stream_out/rtp.c
index 37d0833..f414d64 100644
--- a/modules/stream_out/rtp.c
+++ b/modules/stream_out/rtp.c
@@ -175,6 +175,13 @@ static const char *const ppsz_protocols[] = {
     "negative value or zero disables timeouts. The default is 60 (one " \
     "minute)." )
 
+#define RTSP_USER_TEXT N_("Username")
+#define RTSP_USER_LONGTEXT N_("User name that will be " \
+                              "requested to access the stream." )
+#define RTSP_PASS_TEXT N_("Password")
+#define RTSP_PASS_LONGTEXT N_("Password that will be " \
+                              "requested to access the stream." )
+
 static int  Open ( vlc_object_t * );
 static void Close( vlc_object_t * );
 
@@ -250,6 +257,10 @@ vlc_module_begin ()
                  RTSP_HOST_LONGTEXT, true )
     add_integer( "rtsp-timeout", 60, RTSP_TIMEOUT_TEXT,
                  RTSP_TIMEOUT_LONGTEXT, true )
+    add_string( SOUT_CFG_PREFIX "user", "",
+                RTSP_USER_TEXT, RTSP_USER_LONGTEXT, true )
+    add_password( SOUT_CFG_PREFIX "pwd", "",
+                  RTSP_PASS_TEXT, RTSP_PASS_LONGTEXT, true )
 
 vlc_module_end ()
 
diff --git a/modules/stream_out/rtsp.c b/modules/stream_out/rtsp.c
index a0994d0..b7fee37 100644
--- a/modules/stream_out/rtsp.c
+++ b/modules/stream_out/rtsp.c
@@ -121,8 +121,13 @@ rtsp_stream_t *RtspSetup( vlc_object_t *owner, vod_media_t *media,
     if( rtsp->host == NULL )
         goto error;
 
+    char *user = var_InheritString(owner, "rtsp-user");
+    char *pwd = var_InheritString(owner, "rtsp-pwd");
+
     rtsp->url = httpd_UrlNewUnique( rtsp->host, rtsp->psz_path,
-                                    NULL, NULL, NULL );
+                                    user, pwd, NULL );
+    free(user);
+    free(pwd);
     if( rtsp->url == NULL )
         goto error;
 
@@ -248,7 +253,13 @@ rtsp_stream_id_t *RtspAddId( rtsp_stream_t *rtsp, sout_stream_id_t *sid,
     }
 
     msg_Dbg( rtsp->owner, "RTSP: adding %s", urlbuf );
-    url = id->url = httpd_UrlNewUnique( rtsp->host, urlbuf, NULL, NULL, NULL );
+
+    char *user = var_InheritString(rtsp->owner, "rtsp-user");
+    char *pwd = var_InheritString(rtsp->owner, "rtsp-pwd");
+
+    url = id->url = httpd_UrlNewUnique( rtsp->host, urlbuf, user, pwd, NULL );
+    free( user );
+    free( pwd );
     free( urlbuf );
 
     if( url == NULL )



More information about the vlc-commits mailing list