From: Pierre Ynard Date: Tue, 4 Oct 2011 02:18:47 +0000 (+0200) Subject: rtsp: Basic authentication X-Git-Tag: 1.2.0-pre1~428 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=d4b110552609f6849aea8cfbbfc49675c86c9f37;p=vlc rtsp: Basic authentication --- diff --git a/modules/stream_out/rtp.c b/modules/stream_out/rtp.c index 37d0833bdb..f414d641be 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 a0994d0132..b7fee373ad 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 )