[vlc-commits] Bluray: correctly mark interactive titles as menus
Petri Hintukainen
git at videolan.org
Tue Nov 24 18:49:22 CET 2015
vlc | branch: master | Petri Hintukainen <phintuka at gmail.com> | Tue Nov 24 18:48:40 2015 +0100| [e24a363c064bfa14493be7f57bcebb328fe9f29e] | committer: Jean-Baptiste Kempf
Bluray: correctly mark interactive titles as menus
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e24a363c064bfa14493be7f57bcebb328fe9f29e
---
modules/access/bluray.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/modules/access/bluray.c b/modules/access/bluray.c
index 37dc89e..dea11c1 100644
--- a/modules/access/bluray.c
+++ b/modules/access/bluray.c
@@ -1418,6 +1418,7 @@ static void blurayUpdateTitleInfo(input_title_t *t, BLURAY_TITLE_INFO *title_inf
static void blurayInitTitles(demux_t *p_demux, int menu_titles)
{
demux_sys_t *p_sys = p_demux->p_sys;
+ const BLURAY_DISC_INFO *di = bd_get_disc_info(p_sys->bluray);
/* get and set the titles */
unsigned i_title = menu_titles;
@@ -1439,13 +1440,19 @@ static void blurayInitTitles(demux_t *p_demux, int menu_titles)
} else if (i == 0) {
t->psz_name = strdup(_("Top Menu"));
+ t->b_menu = true;
} else if (i == i_title - 1) {
t->psz_name = strdup(_("First Play"));
+ if (di && di->first_play) {
+ t->b_menu = di->first_play->interactive;
+ }
} else {
/* add possible title name from disc metadata */
- const BLURAY_DISC_INFO *di = bd_get_disc_info(p_sys->bluray);
- if (di && di->titles && i < di->num_titles && di->titles[i]->name) {
- t->psz_name = strdup(di->titles[i]->name);
+ if (di && di->titles && i < di->num_titles) {
+ if (di->titles[i]->name) {
+ t->psz_name = strdup(di->titles[i]->name);
+ }
+ t->b_menu = di->titles[i]->interactive;
}
}
More information about the vlc-commits
mailing list