X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvideo_filter%2Fosdmenu.c;h=58b593963e977b359a3eff98e0657134c100cfb1;hb=07d2543c47774cce555a833439cd030cb95440d3;hp=5ba5c178389e524db02d740230801ad07143a5fa;hpb=1ac8441a1c11c1c242a4c5ad7ed9918fbf14da37;p=vlc diff --git a/modules/video_filter/osdmenu.c b/modules/video_filter/osdmenu.c index 5ba5c17838..58b593963e 100644 --- a/modules/video_filter/osdmenu.c +++ b/modules/video_filter/osdmenu.c @@ -28,7 +28,8 @@ # include "config.h" #endif -#include +#include +#include #include #include @@ -79,8 +80,8 @@ "means less transparency. The default is being not transparent " \ "(value 255) the minimum is fully transparent (value 0)." ) -static int pi_pos_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 }; -static const char *ppsz_pos_descriptions[] = +static const int pi_pos_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 }; +static const char *const ppsz_pos_descriptions[] = { N_("Center"), N_("Left"), N_("Right"), N_("Top"), N_("Bottom"), N_("Top-Left"), N_("Top-Right"), N_("Bottom-Left"), N_("Bottom-Right") }; @@ -112,26 +113,26 @@ static int MouseEvent( vlc_object_t *, char const *, #define OSD_UPDATE_MAX 1000 vlc_module_begin(); - add_integer( OSD_CFG "x", -1, NULL, POSX_TEXT, POSX_LONGTEXT, VLC_FALSE ); - add_integer( OSD_CFG "y", -1, NULL, POSY_TEXT, POSY_LONGTEXT, VLC_FALSE ); + add_integer( OSD_CFG "x", -1, NULL, POSX_TEXT, POSX_LONGTEXT, false ); + add_integer( OSD_CFG "y", -1, NULL, POSY_TEXT, POSY_LONGTEXT, false ); add_integer( OSD_CFG "position", 8, NULL, POS_TEXT, POS_LONGTEXT, - VLC_FALSE ); + false ); change_integer_list( pi_pos_values, ppsz_pos_descriptions, 0 ); add_string( OSD_CFG "file", OSD_DEFAULT_CFG, NULL, OSD_FILE_TEXT, - OSD_FILE_LONGTEXT, VLC_FALSE ); + OSD_FILE_LONGTEXT, false ); add_string( OSD_CFG "file-path", NULL, NULL, OSD_PATH_TEXT, - OSD_PATH_LONGTEXT, VLC_FALSE ); + OSD_PATH_LONGTEXT, false ); add_integer( OSD_CFG "timeout", 15, NULL, TIMEOUT_TEXT, - TIMEOUT_LONGTEXT, VLC_FALSE ); + TIMEOUT_LONGTEXT, false ); add_integer_with_range( OSD_CFG "update", OSD_UPDATE_DEFAULT, OSD_UPDATE_MIN, OSD_UPDATE_MAX, NULL, OSD_UPDATE_TEXT, - OSD_UPDATE_LONGTEXT, VLC_TRUE ); + OSD_UPDATE_LONGTEXT, true ); add_integer_with_range( OSD_CFG "alpha", 255, 0, 255, NULL, - OSD_ALPHA_TEXT, OSD_ALPHA_LONGTEXT, VLC_TRUE ); + OSD_ALPHA_TEXT, OSD_ALPHA_LONGTEXT, true ); set_capability( "sub filter", 100 ); - set_description( _("On Screen Display menu") ); - set_shortname( _("OSD menu") ); + set_description( N_("On Screen Display menu") ); + set_shortname( N_("OSD menu") ); add_shortcut( "osdmenu" ); set_category( CAT_VIDEO ); @@ -155,9 +156,9 @@ struct filter_sys_t mtime_t i_last_date; /* last mdate SPU object has been sent to SPU subsytem */ mtime_t i_timeout; /* duration SPU object is valid on the video output in seconds */ - vlc_bool_t b_absolute; /* do we use absolute positioning or relative? */ - vlc_bool_t b_update; /* Update OSD Menu by sending SPU objects */ - vlc_bool_t b_visible; /* OSD Menu is visible */ + bool b_absolute; /* do we use absolute positioning or relative? */ + bool b_update; /* Update OSD Menu by sending SPU objects */ + bool b_visible; /* OSD Menu is visible */ mtime_t i_update; /* Update the OSD menu every n ms */ mtime_t i_end_date; /* End data of display OSD menu */ int i_alpha; /* alpha transparency value */ @@ -168,7 +169,7 @@ struct filter_sys_t /* menu interaction */ vout_thread_t *p_vout; - vlc_bool_t b_clicked; + bool b_clicked; uint32_t i_mouse_x; uint32_t i_mouse_y; }; @@ -183,10 +184,7 @@ static int CreateFilter ( vlc_object_t *p_this ) p_filter->p_sys = p_sys = (filter_sys_t *) malloc( sizeof(filter_sys_t) ); if( !p_filter->p_sys ) - { - msg_Err( p_filter, "out of memory" ); return VLC_ENOMEM; - } memset( p_sys, 0, sizeof(filter_sys_t) ); /* Populating struct */ @@ -223,33 +221,26 @@ static int CreateFilter ( vlc_object_t *p_this ) p_sys->p_menu->i_position = p_sys->i_position; /* Check if menu position was overridden */ - p_sys->b_absolute = VLC_TRUE; + p_sys->b_absolute = true; if( (p_sys->i_x < 0) || (p_sys->i_y < 0) ) { - p_sys->b_absolute = VLC_FALSE; + p_sys->b_absolute = false; p_sys->p_menu->i_x = 0; p_sys->p_menu->i_y = 0; } - else if( (p_sys->i_x >= 0) || (p_sys->i_y >= 0) ) + else { p_sys->p_menu->i_x = p_sys->i_x; p_sys->p_menu->i_y = p_sys->i_y; } - else if( (p_sys->p_menu->i_x < 0) || - (p_sys->p_menu->i_y < 0) ) - { - p_sys->b_absolute = VLC_FALSE; - p_sys->p_menu->i_x = 0; - p_sys->p_menu->i_y = 0; - } /* Set up p_filter */ p_sys->i_last_date = mdate(); /* Keep track of OSD Events */ - p_sys->b_update = VLC_FALSE; - p_sys->b_visible = VLC_FALSE; - p_sys->b_clicked = VLC_FALSE; + p_sys->b_update = false; + p_sys->b_visible = false; + p_sys->b_clicked = false; /* Listen to osd menu core updates/visible settings. */ var_AddCallback( p_sys->p_menu, "osd-menu-update", @@ -299,12 +290,15 @@ static void DestroyFilter( vlc_object_t *p_this ) var_DelCallback( p_filter, OSD_CFG "update", OSDMenuCallback, p_sys ); var_DelCallback( p_filter, OSD_CFG "alpha", OSDMenuCallback, p_sys ); - var_DelCallback( p_sys->p_menu, "osd-menu-update", - OSDMenuUpdateEvent, p_filter ); - var_DelCallback( p_sys->p_menu, "osd-menu-visible", - OSDMenuVisibleEvent, p_filter ); + if( p_sys ) + { + var_DelCallback( p_sys->p_menu, "osd-menu-update", + OSDMenuUpdateEvent, p_filter ); + var_DelCallback( p_sys->p_menu, "osd-menu-visible", + OSDMenuVisibleEvent, p_filter ); + } - if( p_sys->p_vout ) + if( p_sys && p_sys->p_vout ) { var_DelCallback( p_sys->p_vout, "mouse-x", MouseEvent, p_sys ); @@ -326,10 +320,13 @@ static void DestroyFilter( vlc_object_t *p_this ) var_Destroy( p_this, OSD_CFG "update" ); var_Destroy( p_this, OSD_CFG "alpha" ); - osd_MenuDelete( p_filter, p_sys->p_menu ); + if( p_sys ) + { + osd_MenuDelete( p_filter, p_sys->p_menu ); - free( p_sys->psz_file ); - free( p_sys ); + free( p_sys->psz_file ); + free( p_sys ); + } } /***************************************************************************** @@ -342,8 +339,8 @@ static int OSDMenuVisibleEvent( vlc_object_t *p_this, char const *psz_var, VLC_UNUSED(newval); filter_t *p_filter = (filter_t *) p_data; - p_filter->p_sys->b_visible = VLC_TRUE; - p_filter->p_sys->b_update = VLC_TRUE; + p_filter->p_sys->b_visible = true; + p_filter->p_sys->b_update = true; return VLC_SUCCESS; } @@ -355,7 +352,7 @@ static int OSDMenuUpdateEvent( vlc_object_t *p_this, char const *psz_var, filter_t *p_filter = (filter_t *) p_data; filter_sys_t *p_sys = p_filter->p_sys; - p_sys->b_update = p_sys->b_visible ? VLC_TRUE : VLC_FALSE; + p_sys->b_update = p_sys->b_visible ? true : false; p_sys->i_end_date = (mtime_t) 0; return VLC_SUCCESS; } @@ -465,13 +462,14 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t i_date ) return NULL; /* we are too early, so wait */ /* Allocate the subpicture internal data. */ - p_spu = p_filter->pf_sub_buffer_new( p_filter ); - if( !p_spu ) return NULL; + p_spu = filter_NewSubpicture( p_filter ); + if( !p_spu ) + return NULL; - p_spu->b_ephemer = VLC_TRUE; - p_spu->b_fade = VLC_TRUE; + p_spu->b_ephemer = true; + p_spu->b_fade = true; if( p_filter->p_sys->p_menu->i_style == OSD_MENU_STYLE_CONCAT ) - p_spu->b_absolute = VLC_TRUE; + p_spu->b_absolute = true; else p_spu->b_absolute = p_sys->b_absolute; p_spu->i_flags = p_sys->i_position; @@ -482,7 +480,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t i_date ) /* Display the subpicture again. */ p_spu->i_stop = p_sys->i_end_date - i_date; if( ( i_date + p_sys->i_update ) >= p_sys->i_end_date ) - p_sys->b_update = VLC_FALSE; + p_sys->b_update = false; } else { @@ -498,7 +496,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t i_date ) * when OSD menu should be hidden and menu picture is not allocated. */ if( !p_filter->p_sys->p_menu->p_state->p_pic || - ( p_filter->p_sys->b_visible == VLC_FALSE ) ) + ( p_filter->p_sys->b_visible == false ) ) { /* Create new spu regions and allocate an empty picture in it. */ p_region = create_picture_region( p_filter, p_spu, @@ -516,7 +514,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t i_date ) if( p_sys->p_vout && p_sys->b_clicked ) { - p_sys->b_clicked = VLC_FALSE; + p_sys->b_clicked = false; osd_MenuActivate( p_filter ); } /* Create new spu regions @@ -635,10 +633,10 @@ static int OSDMenuCallback( vlc_object_t *p_this, char const *psz_var, else if( !strncmp( psz_var, OSD_CFG"x", 9) || !strncmp( psz_var, OSD_CFG"y", 9)) { - p_sys->b_absolute = VLC_TRUE; + p_sys->b_absolute = true; if( (p_sys->i_x < 0) || (p_sys->i_y < 0) ) { - p_sys->b_absolute = VLC_FALSE; + p_sys->b_absolute = false; p_sys->p_menu->i_x = 0; p_sys->p_menu->i_y = 0; } @@ -655,7 +653,7 @@ static int OSDMenuCallback( vlc_object_t *p_this, char const *psz_var, else if( !strncmp( psz_var, OSD_CFG"alpha", 13) ) p_sys->i_alpha = newval.i_int % 256; - p_sys->b_update = p_sys->b_visible ? VLC_TRUE : VLC_FALSE; + p_sys->b_update = p_sys->b_visible ? true : false; return VLC_SUCCESS; } @@ -708,8 +706,8 @@ static int MouseEvent( vlc_object_t *p_this, char const *psz_var, if( p_button ) { osd_ButtonSelect( p_this, p_button ); - p_sys->b_update = p_sys->b_visible ? VLC_TRUE : VLC_FALSE; - p_sys->b_clicked = VLC_TRUE; + p_sys->b_update = p_sys->b_visible ? true : false; + p_sys->b_clicked = true; msg_Dbg( p_this, "mouse clicked %s (%d,%d)\n", p_button->psz_name, i_x, i_y ); } }