]> git.sesse.net Git - vlc/commitdiff
rtsp: Basic authentication
authorPierre Ynard <linkfanel@yahoo.fr>
Tue, 4 Oct 2011 02:18:47 +0000 (04:18 +0200)
committerPierre Ynard <linkfanel@yahoo.fr>
Tue, 4 Oct 2011 02:18:47 +0000 (04:18 +0200)
modules/stream_out/rtp.c
modules/stream_out/rtsp.c

index 37d0833bdb7b0464a72dc108b798bf1b4bfdaa20..f414d641be1778ad8207b036e2c2eaa0a15cee2d 100644 (file)
@@ -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 ()
 
index a0994d0132cf06b5c3fd0d4d77f9382acd013e31..b7fee373ad10802cfcbcec30d45459bce1af4cfb 100644 (file)
@@ -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 )