1
mirror of https://code.videolan.org/videolan/vlc synced 2024-08-27 04:21:53 +02:00

input: convert input_title_t.b_menu to flags

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
This commit is contained in:
Petri Hintukainen 2015-12-02 14:55:46 +02:00 committed by Jean-Baptiste Kempf
parent 2f19e4f4ed
commit 59a8278f6f
5 changed files with 18 additions and 11 deletions

View File

@ -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 )
{

View File

@ -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

View File

@ -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;
}
}
}

View File

@ -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();

View File

@ -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++ )