summaryrefslogtreecommitdiffstats
path: root/stream/stream_dvd.c
diff options
context:
space:
mode:
Diffstat (limited to 'stream/stream_dvd.c')
-rw-r--r--stream/stream_dvd.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/stream/stream_dvd.c b/stream/stream_dvd.c
index 5ec1e522bd..5be70b2d1d 100644
--- a/stream/stream_dvd.c
+++ b/stream/stream_dvd.c
@@ -541,6 +541,18 @@ static int control(stream_t *stream,int cmd,void* arg)
*((unsigned int *)arg) = d->vmg_file->tt_srpt->nr_of_srpts;
return 1;
}
+ case STREAM_CTRL_GET_TITLE_LENGTH:
+ {
+ int t = *(double *)arg;
+ if (t < 0 || t >= d->vmg_file->tt_srpt->nr_of_srpts)
+ break;
+ if (d->tt_srpt->title[t].title_set_nr !=
+ d->tt_srpt->title[d->dvd_title].title_set_nr)
+ break;
+ *(double *)arg =
+ mp_get_titleset_length(d->vts_file, d->tt_srpt, t) / 1000.0;
+ return 1;
+ }
case STREAM_CTRL_GET_NUM_CHAPTERS:
{
int r;