vlc | branch: master | Petri Hintukainen <phint...@gmail.com> | Wed Dec 2 14:55:46 2015 +0200| [59a8278f6f5c12b4d66e86c2400598f44583edb1] | committer: Jean-Baptiste Kempf
input: convert input_title_t.b_menu to flags Signed-off-by: Jean-Baptiste Kempf <j...@videolan.org> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=59a8278f6f5c12b4d66e86c2400598f44583edb1 --- include/vlc_input.h | 13 +++++++++---- lib/media_player.c | 2 +- modules/access/bluray.c | 10 ++++++---- modules/access/dvdnav.c | 2 +- modules/access/vcdx/access.c | 2 +- 5 files changed, 18 insertions(+), 11 deletions(-) diff --git a/include/vlc_input.h b/include/vlc_input.h index b136ae9..f6209e3 100644 --- a/include/vlc_input.h +++ b/include/vlc_input.h @@ -82,14 +82,19 @@ static inline seekpoint_t *vlc_seekpoint_Duplicate( const seekpoint_t *src ) /***************************************************************************** * Title: *****************************************************************************/ + +/* input_title_t.i_flags field */ +#define INPUT_TITLE_MENU 0x0001 /* Menu title */ +#define INPUT_TITLE_INTERACTIVE 0x0002 /* Interactive title. Playback position has no meaning. */ + typedef struct input_title_t { char *psz_name; - bool b_menu; /* Is it a menu or a normal entry */ - int64_t i_length; /* Length(microsecond) if known, else 0 */ + int i_flags; /* Is it a menu or a normal entry */ + /* Title seekpoint */ int i_seekpoint; seekpoint_t **seekpoint; @@ -102,7 +107,7 @@ static inline input_title_t *vlc_input_title_New(void) return NULL; t->psz_name = NULL; - t->b_menu = false; + t->i_flags = 0; t->i_length = 0; t->i_seekpoint = 0; t->seekpoint = NULL; @@ -129,7 +134,7 @@ static inline input_title_t *vlc_input_title_Duplicate( const input_title_t *t ) int i; if( t->psz_name ) dup->psz_name = strdup( t->psz_name ); - dup->b_menu = t->b_menu; + dup->i_flags = t->i_flags; dup->i_length = t->i_length; if( t->i_seekpoint > 0 ) { diff --git a/lib/media_player.c b/lib/media_player.c index 8b6938c..2dee2d7 100644 --- a/lib/media_player.c +++ b/lib/media_player.c @@ -1476,7 +1476,7 @@ int libvlc_media_player_get_full_title_descriptions( libvlc_media_player_t *p_mi /* we want to return milliseconds to match the rest of the API */ title->i_duration = p_input_title[i]->i_length / 1000; - title->b_menu = p_input_title[i]->b_menu; + title->b_menu = p_input_title[i]->i_flags & INPUT_TITLE_MENU; if( p_input_title[i]->psz_name ) title->psz_name = strdup( p_input_title[i]->psz_name ); else diff --git a/modules/access/bluray.c b/modules/access/bluray.c index 3f330c2..987cbea 100644 --- a/modules/access/bluray.c +++ b/modules/access/bluray.c @@ -1453,11 +1453,11 @@ static void blurayInitTitles(demux_t *p_demux, int menu_titles) } else if (i == 0) { t->psz_name = strdup(_("Top Menu")); - t->b_menu = true; + t->i_flags = INPUT_TITLE_MENU | INPUT_TITLE_INTERACTIVE; } else if (i == i_title - 1) { t->psz_name = strdup(_("First Play")); - if (di && di->first_play) { - t->b_menu = di->first_play->interactive; + if (di && di->first_play && di->first_play->interactive) { + t->i_flags = INPUT_TITLE_INTERACTIVE; } } else { /* add possible title name from disc metadata */ @@ -1465,7 +1465,9 @@ static void blurayInitTitles(demux_t *p_demux, int menu_titles) if (di->titles[i]->name) { t->psz_name = strdup(di->titles[i]->name); } - t->b_menu = di->titles[i]->interactive; + if (di->titles[i]->interactive) { + t->i_flags = INPUT_TITLE_INTERACTIVE; + } } } diff --git a/modules/access/dvdnav.c b/modules/access/dvdnav.c index 2e03153..270007d 100644 --- a/modules/access/dvdnav.c +++ b/modules/access/dvdnav.c @@ -1115,7 +1115,7 @@ static void DemuxTitles( demux_t *p_demux ) /* Menu */ t = vlc_input_title_New(); - t->b_menu = true; + t->i_flags = INPUT_TITLE_MENU | INPUT_TITLE_INTERACTIVE; t->psz_name = strdup( "DVD Menu" ); s = vlc_seekpoint_New(); diff --git a/modules/access/vcdx/access.c b/modules/access/vcdx/access.c index 7298b0f..164423e 100644 --- a/modules/access/vcdx/access.c +++ b/modules/access/vcdx/access.c @@ -482,7 +482,7 @@ VCDLIDs( access_t * p_access ) /* Set up LIDs Navigation Menu */ t = vlc_input_title_New(); - t->b_menu = true; + t->i_flags = INPUT_TITLE_MENU; t->psz_name = strdup( "LIDs" ); for( i_lid = 1 ; i_lid <= p_vcdplayer->i_lids ; i_lid++ ) _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits