X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faccess%2Fmms%2Fmms.c;h=6af74bbae79502e890f4ba8334ba10584bfab169;hb=fa4bde0b26a6c7a2a617362ea0b17144686e39fe;hp=ccc29a43ad3468b3ac35cbfe184af137a7b129b8;hpb=cbc66ff62b56b1dea3ba99b9b0f1a28659773427;p=vlc diff --git a/modules/access/mms/mms.c b/modules/access/mms/mms.c index ccc29a43ad..6af74bbae7 100644 --- a/modules/access/mms/mms.c +++ b/modules/access/mms/mms.c @@ -21,13 +21,16 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ - /***************************************************************************** * Preamble *****************************************************************************/ -#include -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include #include #include "mms.h" @@ -63,29 +66,35 @@ static void Close( vlc_object_t * ); "http://[user[:pass]@]myproxy.mydomain:myport/ ; " \ "if empty, the http_proxy environment variable will be tried." ) -vlc_module_begin(); - set_shortname( "MMS" ); - set_description( _("Microsoft Media Server (MMS) input") ); - set_capability( "access2", -1 ); - set_category( CAT_INPUT ); - set_subcategory( SUBCAT_INPUT_ACCESS ); +#define TIMEOUT_TEXT N_("TCP/UDP timeout (ms)") +#define TIMEOUT_LONGTEXT N_("Amount of time (in ms) to wait before aborting network reception of data. Note that there will be 10 retries before completely giving up.") + +vlc_module_begin () + set_shortname( "MMS" ) + set_description( N_("Microsoft Media Server (MMS) input") ) + set_capability( "access", -1 ) + set_category( CAT_INPUT ) + set_subcategory( SUBCAT_INPUT_ACCESS ) add_integer( "mms-caching", 19 * DEFAULT_PTS_DELAY / 1000, NULL, - CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); + CACHING_TEXT, CACHING_LONGTEXT, true ) - add_bool( "mms-all", 0, NULL, ALL_TEXT, ALL_LONGTEXT, VLC_TRUE ); + add_integer( "mms-timeout", 5000, NULL, TIMEOUT_TEXT, TIMEOUT_LONGTEXT, + true ) + + add_bool( "mms-all", 0, NULL, ALL_TEXT, ALL_LONGTEXT, true ) add_integer( "mms-maxbitrate", 0, NULL, BITRATE_TEXT, BITRATE_LONGTEXT , - VLC_FALSE ); + false ) add_string( "mmsh-proxy", NULL, NULL, PROXY_TEXT, PROXY_LONGTEXT, - VLC_FALSE ); + false ) - add_shortcut( "mms" ); - add_shortcut( "mmsu" ); - add_shortcut( "mmst" ); - add_shortcut( "mmsh" ); - add_shortcut( "http" ); - set_callbacks( Open, Close ); -vlc_module_end(); + add_shortcut( "mms" ) + add_shortcut( "mmsu" ) + add_shortcut( "mmst" ) + add_shortcut( "mmsh" ) + add_shortcut( "http" ) + set_callbacks( Open, Close ) +vlc_module_end () /***************************************************************************** * Local prototypes @@ -95,7 +104,6 @@ struct access_sys_t int i_proto; }; - /***************************************************************************** * Open: *****************************************************************************/ @@ -115,23 +123,26 @@ static int Open( vlc_object_t *p_this ) { if( !strncmp( p_access->psz_access, "mmsu", 4 ) ) { - return E_( MMSTUOpen )( p_access ); + return MMSTUOpen ( p_access ); } else if( !strncmp( p_access->psz_access, "mmst", 4 ) ) { - return E_( MMSTUOpen )( p_access ); + return MMSTUOpen ( p_access ); } else if( !strncmp( p_access->psz_access, "mmsh", 4 ) || !strncmp( p_access->psz_access, "http", 4 ) ) { - return E_( MMSHOpen )( p_access ); + return MMSHOpen ( p_access ); } } - if( E_( MMSTUOpen )( p_access ) ) + if( MMSTUOpen ( p_access ) ) { + if( p_access->b_die ) + return VLC_EGENERIC; + /* try mmsh if mmstu failed */ - return E_( MMSHOpen )( p_access ); + return MMSHOpen ( p_access ); } return VLC_SUCCESS; } @@ -144,12 +155,13 @@ static void Close( vlc_object_t *p_this ) access_t *p_access = (access_t*)p_this; access_sys_t *p_sys = p_access->p_sys; - if( p_sys->i_proto == MMS_PROTO_TCP || p_sys->i_proto == MMS_PROTO_UDP ) + if( ( p_sys->i_proto == MMS_PROTO_TCP ) || + ( p_sys->i_proto == MMS_PROTO_UDP ) ) { - E_( MMSTUClose )( p_access ); + MMSTUClose ( p_access ); } else if( p_sys->i_proto == MMS_PROTO_HTTP ) { - E_( MMSHClose )( p_access ); + MMSHClose ( p_access ); } }