[vlc-devel] [PATCH] [PATCH] Shortcut for multiple video tracks.

Jean-Baptiste Kempf jb at videolan.org
Mon Feb 27 03:39:02 CET 2017


Please merge this with your previous patch. Else, it's hard to review.

On Mon, 27 Feb 2017, at 03:06, Andrei Ciurea wrote:
> ---
>  modules/control/hotkeys.c | 60
>  ++++++++++++++++-------------------------------
>  1 file changed, 20 insertions(+), 40 deletions(-)
> 
> diff --git a/modules/control/hotkeys.c b/modules/control/hotkeys.c
> index 2c25d0c..d1b5727 100644
> --- a/modules/control/hotkeys.c
> +++ b/modules/control/hotkeys.c
> @@ -700,17 +700,26 @@ static int PutAction( intf_thread_t *p_intf,
> input_thread_t *p_input,
>              }
>              break;
>          }
> -
> +        case ACTIONID_VIDEO_TRACK:
>          case ACTIONID_AUDIO_TRACK:
> -            if( p_input )
> +          if( p_input )
>              {
>                  vlc_value_t val, list, list2;
>                  int i_count, i;
> +
> +                if(i_action == ACTIONID_VIDEO_TRACK){
> +                var_Get( p_input, "video-es", &val );
> +                var_Change( p_input, "video-es", VLC_VAR_GETCHOICES,
> +                            &list, &list2 );
> +
> +                }
> +                else{
>                  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 )
> +                if( (i_count = list.p_list->i_count) > 1 )
>                  {
>                      for( i = 0; i < i_count; i++ )
>                      {
> @@ -719,7 +728,7 @@ static int PutAction( intf_thread_t *p_intf,
> input_thread_t *p_input,
>                              break;
>                          }
>                      }
> -                    /* value of audio-es was not in choices list */
> +                    /* value of audio-es / video-es was not in choices
> list */
>                      if( i == i_count )
>                      {
>                          msg_Warn( p_input,
> @@ -730,49 +739,20 @@ static int PutAction( intf_thread_t *p_intf,
> input_thread_t *p_input,
>                          i = 1;
>                      else
>                          i++;
> +                    if(i_action == ACTIONID_VIDEO_TRACK){
> +                         var_Set( p_input, "video-es",
> list.p_list->p_values[i] );
> +                    DisplayMessage( p_vout, _("Video track: %s"),
> +                                    list2.p_list->p_values[i].psz_string
> );
> +                    }
> +                    else{
>                      var_Set( p_input, "audio-es",
>                      list.p_list->p_values[i] );
>                      DisplayMessage( p_vout, _("Audio track: %s"),
>                                      list2.p_list->p_values[i].psz_string
>                                      );
>                  }
> -                var_FreeList( &list, &list2 );
> -            }
> -            break;  
> -        case ACTIONID_VIDEO_TRACK:
> -         if( p_input )
> -            {
> -                vlc_value_t val, list, list2;
> -                int i_count, i;
> -                var_Get( p_input, "video-es", &val );
> -                var_Change( p_input, "video-es", VLC_VAR_GETCHOICES,
> -                            &list, &list2 );
> -                
> -                if( (i_count = list.p_list->i_count) > 1 )
> -                {
> -                    for( i = 0; i < i_count; i++ )
> -                    {
> -                        if( val.i_int == list.p_list->p_values[i].i_int
> )
> -                        {
> -                            break;
> -                        }
> -                    }
> -                    /* value of video-es was not in choices list */
> -                    if( i == i_count )
> -                    {
> -                        msg_Warn( p_input,
> -                                  "invalid current video track,
> selecting 0" );
> -                        i = 0;
> -                    }
> -                    else if( i == i_count - 1 )
> -                        i = 1;
> -                    else
> -                        i++;
> -                    var_Set( p_input, "video-es",
> list.p_list->p_values[i] );
> -                    DisplayMessage( p_vout, _("Video track: %s"),
> -                                    list2.p_list->p_values[i].psz_string
> );
>                  }
>                  var_FreeList( &list, &list2 );
>              }
> -            break;
> +            break;  
>          case ACTIONID_SUBTITLE_TRACK:
>              if( p_input )
>              {
> -- 
> 2.10.2
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


-- 
Jean-Baptiste Kempf -  President
+33 672 704 734


More information about the vlc-devel mailing list