summaryrefslogtreecommitdiff
path: root/src/xine-engine/xine.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xine-engine/xine.c')
-rw-r--r--src/xine-engine/xine.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c
index 40e0b5513..4baba394c 100644
--- a/src/xine-engine/xine.c
+++ b/src/xine-engine/xine.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine.c,v 1.299 2004/10/14 23:44:09 tmattern Exp $
+ * $Id: xine.c,v 1.300 2004/10/27 13:09:07 miguelfreitas Exp $
*/
/*
@@ -627,7 +627,8 @@ void _x_flush_events_queues (xine_stream_t *stream) {
static int __open_internal (xine_stream_t *stream, const char *mrl) {
const char *stream_setup;
-
+ int no_cache = 0;
+
if (!mrl) {
xprintf (stream->xine, XINE_VERBOSITY_LOG, _("xine: error while parsing mrl\n"));
stream->err = XINE_ERROR_MALFORMED_MRL;
@@ -844,6 +845,19 @@ static int __open_internal (xine_stream_t *stream, const char *mrl) {
xprintf (stream->xine, XINE_VERBOSITY_LOG, _("ignoring subpicture\n"));
continue;
}
+ if (strncasecmp(stream_setup, "nocache", 7) == 0) {
+ stream_setup += 7;
+ if (*stream_setup == ';' || *stream_setup == '\0') {
+ no_cache = 1;
+ } else {
+ xprintf(stream->xine, XINE_VERBOSITY_LOG, _("xine: error while parsing mrl\n"));
+ stream->err = XINE_ERROR_MALFORMED_MRL;
+ stream->status = XINE_STATUS_STOP;
+ return 0;
+ }
+ xprintf (stream->xine, XINE_VERBOSITY_LOG, _("input cache plugin disabled\n"));
+ continue;
+ }
if (strncasecmp(stream_setup, "volume", 6) == 0) {
if (*(stream_setup += 6) == ':') {
const char *tmp = ++stream_setup;
@@ -965,6 +979,10 @@ static int __open_internal (xine_stream_t *stream, const char *mrl) {
}
+ if( !no_cache )
+ /* enable buffered input plugin (request optimizer) */
+ stream->input_plugin = _x_cache_plugin_get_instance(stream, 0);
+
if (!stream->demux_plugin) {
/*