summaryrefslogtreecommitdiffstats
path: root/stream
diff options
context:
space:
mode:
Diffstat (limited to 'stream')
-rw-r--r--stream/cache2.c3
-rw-r--r--stream/stream.h1
-rw-r--r--stream/stream_dvd.c5
3 files changed, 9 insertions, 0 deletions
diff --git a/stream/cache2.c b/stream/cache2.c
index 6c11ec9812..705ba15014 100644
--- a/stream/cache2.c
+++ b/stream/cache2.c
@@ -300,6 +300,7 @@ static int cache_execute_control(cache_vars_t *s) {
double_res = s->control_double_arg;
case STREAM_CTRL_GET_CURRENT_TIME:
case STREAM_CTRL_GET_ASPECT_RATIO:
+ case STREAM_CTRL_GET_START_TIME:
s->control_res = s->stream->control(s->stream, s->control, &double_res);
s->control_double_arg = double_res;
break;
@@ -663,6 +664,7 @@ int cache_do_control(stream_t *stream, int cmd, void *arg) {
case STREAM_CTRL_GET_ANGLE:
case STREAM_CTRL_GET_SIZE:
case STREAM_CTRL_MANAGES_TIMELINE:
+ case STREAM_CTRL_GET_START_TIME:
case -2:
s->control = cmd;
break;
@@ -695,6 +697,7 @@ int cache_do_control(stream_t *stream, int cmd, void *arg) {
case STREAM_CTRL_GET_TIME_LENGTH:
case STREAM_CTRL_GET_CURRENT_TIME:
case STREAM_CTRL_GET_ASPECT_RATIO:
+ case STREAM_CTRL_GET_START_TIME:
*(double *)arg = s->control_double_arg;
break;
case STREAM_CTRL_GET_NUM_TITLES:
diff --git a/stream/stream.h b/stream/stream.h
index b6fe40b56a..2d4fd3862d 100644
--- a/stream/stream.h
+++ b/stream/stream.h
@@ -103,6 +103,7 @@
#define STREAM_CTRL_RECONNECT 18
// DVD/Bluray, signal general support for GET_CURRENT_TIME etc.
#define STREAM_CTRL_MANAGES_TIMELINE 19
+#define STREAM_CTRL_GET_START_TIME 20
struct stream_lang_req {
int type; // STREAM_AUDIO, STREAM_SUB
diff --git a/stream/stream_dvd.c b/stream/stream_dvd.c
index 0b85e320ba..5df9b390e7 100644
--- a/stream/stream_dvd.c
+++ b/stream/stream_dvd.c
@@ -624,6 +624,11 @@ static int control(stream_t *stream,int cmd,void* arg)
*((double *)arg) = (double) mp_get_titleset_length(d->vts_file, d->tt_srpt, d->cur_title-1)/1000.0;
return 1;
}
+ case STREAM_CTRL_GET_START_TIME:
+ {
+ *((double *)arg) = 0;
+ return 1;
+ }
case STREAM_CTRL_GET_NUM_TITLES:
{
*((unsigned int *)arg) = d->vmg_file->tt_srpt->nr_of_srpts;