Index: cfg-common.h =================================================================== --- cfg-common.h (Revision 23588) +++ cfg-common.h (Arbeitskopie) @@ -57,6 +57,7 @@ {"ipv4-only-proxy", &network_ipv4_only_proxy, CONF_TYPE_FLAG, 0, 0, 1, NULL}, {"reuse-socket", &reuse_socket, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL}, {"noreuse-socket", &reuse_socket, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL}, + {"network-timeout", &network_timeout, CONF_TYPE_INT, 0, 0, 0, NULL}, #ifdef HAVE_AF_INET6 {"prefer-ipv6", &network_prefer_ipv4, CONF_TYPE_FLAG, 0, 1, 0, NULL}, #else @@ -68,6 +69,7 @@ {"passwd", "MPlayer was compiled without streaming (network) support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, {"bandwidth", "MPlayer was compiled without streaming (network) support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, {"user-agent", "MPlayer was compiled without streaming (network) support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, + {"network-timeout", "MPlayer was compiled without streaming (network) support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, #endif #ifdef STREAMING_LIVE555 @@ -366,6 +368,7 @@ extern char *network_useragent; extern int network_cookies_enabled; extern char *cookies_file; +extern int network_timeout; extern int network_prefer_ipv4; extern int network_ipv4_only_proxy; Index: stream/network.c =================================================================== --- stream/network.c (Revision 23588) +++ stream/network.c (Arbeitskopie) @@ -41,13 +41,14 @@ extern int stream_cache_size; /* Variables for the command line option -user, -passwd, -bandwidth, - -user-agent and -nocookies */ + -user-agent, -nocookies and -network-timeout */ char *network_username=NULL; char *network_password=NULL; int network_bandwidth=0; int network_cookies_enabled = 0; char *network_useragent=NULL; +int network_timeout=10; /* IPv6 options */ int network_ipv4_only_proxy = 0; Index: libmpdemux/demux_rtp.cpp =================================================================== --- libmpdemux/demux_rtp.cpp (Revision 23589) +++ libmpdemux/demux_rtp.cpp (Arbeitskopie) @@ -93,7 +93,7 @@ } int rtspStreamOverTCP = 0; -extern int rtsp_port; +extern int rtsp_port, network_timeout; extern "C" int audio_id, video_id, dvdsub_id; extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { @@ -504,7 +504,7 @@ // Block ourselves until data becomes available: TaskScheduler& scheduler = bufferQueue->readSource()->envir().taskScheduler(); - int delay = 10000000; + int delay = network_timeout * 1000000; if (bufferQueue->prevPacketPTS * 1.05 > rtpState->mediaSession->playEndTime()) delay /= 10; task = scheduler.scheduleDelayedTask(delay, onSourceClosure, bufferQueue); Index: DOCS/man/en/mplayer.1 =================================================================== --- DOCS/man/en/mplayer.1 (Revision 23588) +++ DOCS/man/en/mplayer.1 (Arbeitskopie) @@ -1441,6 +1441,12 @@ .PD 1 . .TP +.B \-network-timeout (LIVE555 only) +Set network timeout in seconds. When using live555 with rtsp streams, the +timeout gets divided by ten when approximately 95% of the stream are played. +(default: 10) +. +.TP .B \-ni (AVI only) Force usage of non-interleaved AVI parser (fixes playback of some bad AVI files). Index: DOCS/man/de/mplayer.1 =================================================================== --- DOCS/man/de/mplayer.1 (Revision 23588) +++ DOCS/man/de/mplayer.1 (Arbeitskopie) @@ -1498,6 +1498,12 @@ .PD 1 . .TP +.B \-network-timeout (nur bei LIVE555) +Setzt das Netzwerktimeout in Sekunden fest. Für rtsp Streams über live555 +wird der Wert nach ca. 95% des Streams durch zehn dividiert. +(Standard: 10) +. +.TP .B \-ni (nur bei AVI) Erzwingt die Benutzung des nicht-interleaved-AVI-Parsers (was die Wiedergabe einiger schlechter AVI-Dateien ermöglicht).