"Muxer to use for the stream." )
#define DEST_TEXT N_("Output destination")
#define DEST_LONGTEXT N_( \
- "Destination (URL) to use for the stream." )
+ "Destination (URL) to use for the stream. Overrides path and bind parameters" )
#define BIND_TEXT N_("address to bind to (helper setting for dst)")
#define BIND_LONGTEXT N_( \
"address:port to bind vlc to listening incoming streams "\
- "helper setting for dst,dst=bind+'/'+path" )
+ "helper setting for dst,dst=bind+'/'+path. dst-parameter overrides this" )
#define PATH_TEXT N_("filename for stream (helper setting for dst)")
#define PATH_LONGTEXT N_( \
"Filename for stream "\
- "helper setting for dst, dst=bind+'/'+path" )
+ "helper setting for dst, dst=bind+'/'+path, dst-parameter overrides this" )
#define NAME_TEXT N_("Session name")
#define NAME_LONGTEXT N_( \
- "This allows you to specify a name for the session, that will be announced "\
- "if you choose to use SAP." )
+ "This is the name of the session that will be announced in the SDP " \
+ "(Session Descriptor)." )
#define GROUP_TEXT N_("Session groupname")
#define GROUP_LONGTEXT N_( \
set_subcategory( SUBCAT_SOUT_STREAM );
add_string( SOUT_CFG_PREFIX "access", "", NULL, ACCESS_TEXT,
- ACCESS_LONGTEXT, VLC_FALSE );
+ ACCESS_LONGTEXT, false );
add_string( SOUT_CFG_PREFIX "mux", "", NULL, MUX_TEXT,
- MUX_LONGTEXT, VLC_FALSE );
+ MUX_LONGTEXT, false );
add_string( SOUT_CFG_PREFIX "dst", "", NULL, DEST_TEXT,
- DEST_LONGTEXT, VLC_FALSE );
+ DEST_LONGTEXT, false );
add_string( SOUT_CFG_PREFIX "bind", "", NULL, BIND_TEXT,
- BIND_LONGTEXT, VLC_FALSE );
+ BIND_LONGTEXT, false );
add_string( SOUT_CFG_PREFIX "path", "", NULL, PATH_TEXT,
- PATH_LONGTEXT, VLC_FALSE );
+ PATH_LONGTEXT, false );
change_unsafe();
- add_bool( SOUT_CFG_PREFIX "sap", VLC_FALSE, NULL, SAP_TEXT, SAP_LONGTEXT,
- VLC_TRUE );
+ add_bool( SOUT_CFG_PREFIX "sap", false, NULL, SAP_TEXT, SAP_LONGTEXT,
+ true );
add_string( SOUT_CFG_PREFIX "name", "", NULL, NAME_TEXT, NAME_LONGTEXT,
- VLC_TRUE );
+ true );
add_string( SOUT_CFG_PREFIX "group", "", NULL, GROUP_TEXT, GROUP_LONGTEXT,
- VLC_TRUE );
+ true );
add_string( SOUT_CFG_PREFIX "description", "", NULL, DESC_TEXT, DESC_LONGTEXT,
- VLC_TRUE );
+ true );
add_string( SOUT_CFG_PREFIX "url", "", NULL, URL_TEXT, URL_LONGTEXT,
- VLC_TRUE );
+ true );
add_string( SOUT_CFG_PREFIX "email", "", NULL, EMAIL_TEXT, EMAIL_LONGTEXT,
- VLC_TRUE );
+ true );
add_string( SOUT_CFG_PREFIX "phone", "", NULL, PHONE_TEXT, PHONE_LONGTEXT,
- VLC_TRUE );
+ true );
add_obsolete_bool( SOUT_CFG_PREFIX "sap-ipv6" );
set_callbacks( Open, Close );
char *psz_mux;
char *psz_access;
- char *psz_url;
+ char *psz_url=NULL;
char *psz_bind;
char *psz_path;
}
var_Get( p_stream, SOUT_CFG_PREFIX "dst", &val );
- if( *val.psz_string ) psz_url = val.psz_string;
- if( !*val.psz_string ) free( val.psz_string );
+ if( *val.psz_string )
+ {
+ free( psz_url);
+ psz_url = val.psz_string;
+ }
+ else
+ free( val.psz_string );
p_sys = p_stream->p_sys = malloc( sizeof( sout_stream_sys_t) );
if( !p_sys ) return VLC_ENOMEM;
{
psz_mux = strdup("asfh");
}
- else if (!strcmp (psz_access, "udp")
- || !strcmp (psz_access, "rtp"))
+ else if (!strcmp (psz_access, "udp"))
{
psz_mux = strdup("ts");
}
psz_mux = strdup("asfh");
}
}
- else if( ( !strncmp( psz_access, "rtp", 3 ) ||
- !strncmp( psz_access, "udp", 3 ) ) )
+ else if( !strncmp( psz_access, "udp", 3 ) )
{
if( !strncmp( psz_mux, "ffmpeg", 6 ) )
{ /* why would you use ffmpeg's ts muxer ? YOU DON'T LOVE VLC ??? */
char *psz_ffmpeg_mux = var_CreateGetString( p_this, "ffmpeg-mux" );
if( !psz_ffmpeg_mux || strncmp( psz_ffmpeg_mux, "mpegts", 6 ) )
- msg_Err( p_stream, "UDP and RTP are only valid with TS" );
+ msg_Err( p_stream, "UDP is only valid with TS" );
free( psz_ffmpeg_mux );
}
else if( strncmp( psz_mux, "ts", 2 ) )
{
- msg_Err( p_stream, "UDP and RTP are only valid with TS" );
+ msg_Err( p_stream, "UDP is only valid with TS" );
}
}
else if( strncmp( psz_access, "file", 4 ) &&