From 5b618ef62976370ca184839d0bd8efd615e9f20e Mon Sep 17 00:00:00 2001 From: wm4 Date: Sat, 13 Dec 2014 20:25:31 +0100 Subject: command, dvd: add property which returns list of DVD titles This was requested. It seems libdvdread can't get the duration for titlesets other than the currently opened title. The data structures contain dangling pointers for these, and MPlayer works this around by opening every title separately for the purpose of dumping the title list. --- stream/stream_dvd.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'stream/stream_dvd.c') 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; -- cgit v1.2.3