summaryrefslogtreecommitdiffstats
path: root/stream/stream_dvd.c
diff options
context:
space:
mode:
authornicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-11 13:02:39 +0000
committernicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-11 13:02:39 +0000
commit61f29af97882f64063f9a5f6789b03500133b525 (patch)
treeb6a6fceebf731a524db6354891a009b911aa52d8 /stream/stream_dvd.c
parent5c361eff9de5dd5f6336cdf7841d28e160603fb7 (diff)
downloadmpv-61f29af97882f64063f9a5f6789b03500133b525.tar.bz2
mpv-61f29af97882f64063f9a5f6789b03500133b525.tar.xz
make fail STREAM_CTRLs related to seeking/fetching time/chapter when the cache is enabled: they can't work atm
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20856 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream/stream_dvd.c')
-rw-r--r--stream/stream_dvd.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/stream/stream_dvd.c b/stream/stream_dvd.c
index e6ead589ef..c7a5946457 100644
--- a/stream/stream_dvd.c
+++ b/stream/stream_dvd.c
@@ -27,6 +27,7 @@
#include "stream_dvd.h"
+extern int stream_cache_size;
/// We keep these 2 for the gui atm, but they will be removed.
extern int dvd_title;
extern int dvd_chapter;
@@ -643,19 +644,24 @@ static int control(stream_t *stream,int cmd,void* arg)
}
case STREAM_CTRL_SEEK_TO_CHAPTER:
{
- int r = seek_to_chapter(stream, d->vts_file, d->tt_srpt, d->cur_title-1, *((unsigned int *)arg));
+ int r;
+ if(stream_cache_size > 0) return STREAM_UNSUPORTED;
+ r = seek_to_chapter(stream, d->vts_file, d->tt_srpt, d->cur_title-1, *((unsigned int *)arg));
if(! r) return STREAM_UNSUPORTED;
return 1;
}
case STREAM_CTRL_GET_CURRENT_CHAPTER:
{
+ if(stream_cache_size > 0) return STREAM_UNSUPORTED;
*((unsigned int *)arg) = dvd_chapter_from_cell(d, d->cur_title-1, d->cur_cell);
return 1;
}
case STREAM_CTRL_GET_CURRENT_TIME:
{
- double tm = dvd_get_current_time(stream, 0);
+ double tm;
+ if(stream_cache_size > 0) return STREAM_UNSUPORTED;
+ tm = dvd_get_current_time(stream, 0);
if(tm != -1) {
tm *= 1000.0f;
*((unsigned int *)arg) = (unsigned int) tm;
@@ -666,6 +672,7 @@ static int control(stream_t *stream,int cmd,void* arg)
case STREAM_CTRL_SEEK_TO_TIME:
{
dvd_priv_t *d = stream->priv;
+ if(stream_cache_size > 0) return STREAM_UNSUPORTED;
if(dvd_seek_to_time(stream, d->vts_file, *((double*)arg)))
return 1;
break;