case GESTURE(UP,RIGHT,NONE,NONE):
{
- vlc_value_t val, list, list2;
- int i_count, i;
+ vlc_value_t val, list, list2;
+ int i_count, i;
p_playlist = pl_Hold( p_intf );
p_input = playlist_CurrentInput( p_playlist );
if( !p_input )
break;
- var_Get( p_input, "audio-es", &val );
- var_Change( p_input, "audio-es", VLC_VAR_GETCHOICES,
- &list, &list2 );
- i_count = list.p_list->i_count;
- if( i_count <= 1 )
- {
- vlc_object_release( p_input );
- break;
- }
- for( i = 0; i < i_count; i++ )
- {
- if( val.i_int == list.p_list->p_values[i].i_int )
- break;
- }
+ var_Get( p_input, "audio-es", &val );
+ var_Change( p_input, "audio-es", VLC_VAR_GETCHOICES,
+ &list, &list2 );
+ i_count = list.p_list->i_count;
+ if( i_count <= 1 )
+ {
- var_Change( p_input, "audio-es", VLC_VAR_FREELIST, &list,
- &list2 );
++ var_FreeList( &list, &list2 );
+ vlc_object_release( p_input );
+ break;
+ }
+ for( i = 0; i < i_count; i++ )
+ {
+ if( val.i_int == list.p_list->p_values[i].i_int )
+ break;
+ }
/* value of audio-es was not in choices list */
if( i == i_count )
{
else
i++;
var_Set( p_input, "audio-es", list.p_list->p_values[i] );
- var_Change( p_input, "audio-es", VLC_VAR_FREELIST, &list,
- &list2 );
++ var_FreeList( &list, &list2 );
vlc_object_release( p_input );
}
break;
if( i_count <= 1 )
{
vlc_object_release( p_input );
- var_Change( p_input, "spu-es", VLC_VAR_FREELIST,
- &list, &list2 );
++ var_FreeList( &list, &list2 );
break;
}
for( i = 0; i < i_count; i++ )
else
i++;
var_Set( p_input, "spu-es", list.p_list->p_values[i] );
- var_Change( p_input, "spu-es", VLC_VAR_FREELIST,
- &list, &list2 );
++ var_FreeList( &list, &list2 );
vlc_object_release( p_input );
}
break;
ClearChannels( p_intf, p_vout );
vout_OSDMessage( p_intf, DEFAULT_CHAN, _( "Quit" ) );
- if( p_aout )
- vlc_object_release( p_aout );
- if( p_vout )
- vlc_object_release( p_vout );
- if( p_input )
- vlc_object_release( p_input );
- continue;
+ goto cleanup_and_continue;
}
/* Volume and audio actions */
else if( i_action == ACTIONID_VOL_UP )
_("Audio Device: %s"),
list2.p_list->p_values[i].psz_string);
}
- var_Change( p_aout, "audio-device", VLC_VAR_FREELIST, &list,
- &list2 );
++ var_FreeList( &list, &list2 );
}
/* Input options */
else if( p_input )
_("Audio track: %s"),
list2.p_list->p_values[i].psz_string );
}
- var_Change( p_input, "audio-es", VLC_VAR_FREELIST, &list,
- &list2 );
++ var_FreeList( &list, &list2 );
}
else if( i_action == ACTIONID_SUBTITLE_TRACK )
{
{
vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
_("Subtitle track: %s"), _("N/A") );
- continue;
- var_Change( p_input, "spu-es", VLC_VAR_FREELIST, &list,
- &list2 );
++ var_FreeList( &list, &list2 );
+ goto cleanup_and_continue;
}
for( i = 0; i < i_count; i++ )
{
vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
_("Subtitle track: %s"),
list2.p_list->p_values[i].psz_string );
- var_Change( p_input, "spu-es", VLC_VAR_FREELIST, &list,
- &list2 );
++ var_FreeList( &list, &list2 );
}
else if( i_action == ACTIONID_ASPECT_RATIO && p_vout )
{
_("Aspect ratio: %s"),
text_list.p_list->p_values[i].psz_string );
- var_Change( p_vout, "aspect-ratio", VLC_VAR_FREELIST, &val_list, &text_list );
+ var_FreeList( &val_list, &text_list );
}
free( val.psz_string );
}
_("Crop: %s"),
text_list.p_list->p_values[i].psz_string );
- var_Change( p_vout, "crop", VLC_VAR_FREELIST, &val_list, &text_list );
+ var_FreeList( &val_list, &text_list );
}
free( val.psz_string );
}
_("Deinterlace mode: %s"),
text_list.p_list->p_values[i].psz_string );
- var_Change( p_vout, "deinterlace", VLC_VAR_FREELIST, &val_list, &text_list );
+ var_FreeList( &val_list, &text_list );
}
free( val.psz_string );
}
_("Zoom mode: %s"),
text_list.p_list->p_values[i].var.psz_name );
- var_Change( p_vout, "zoom", VLC_VAR_FREELIST, &val_list, &text_list );
+ var_FreeList( &val_list, &text_list );
}
}
else if( i_action == ACTIONID_CROP_TOP && p_vout )
}
}
}
+ cleanup_and_continue:
if( p_aout )
vlc_object_release( p_aout );
if( p_vout )
/* Special action for mouse event */
/* FIXME: rework hotkeys handling to allow more than 1 event
* to trigger one same action */
- switch (newval.i_int & KEY_SPECIAL)
+ switch (newval.i_int & ~KEY_MODIFIER)
{
case KEY_MOUSEWHEELUP:
i_action = (i_mode == MOUSEWHEEL_VOLUME ) ? ACTIONID_VOL_UP
case KEY_MENU:
var_SetBool( libvlc, "intf-popupmenu", true );
break;
- default:
- return VLC_SUCCESS;
}
if( i_mode == NO_MOUSEWHEEL ) return VLC_SUCCESS;