[vlc-devel] [PATCH 2/2] core: add an option to select an audio-device

Thomas Guillem thomas at gllm.fr
Wed Mar 22 09:57:31 CET 2017



On Wed, Mar 22, 2017, at 09:50, Thomas Guillem wrote:
> ---
>  src/audio_output/output.c | 4 +++-
>  src/libvlc-module.c       | 9 +++++++++
>  src/playlist/engine.c     | 2 +-
>  3 files changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/src/audio_output/output.c b/src/audio_output/output.c
> index 8a70cdfddc..f1055149d2 100644
> --- a/src/audio_output/output.c
> +++ b/src/audio_output/output.c
> @@ -189,7 +189,9 @@ audio_output_t *aout_New (vlc_object_t *parent)
>      vlc_mutex_init (&owner->lock);
>      vlc_mutex_init (&owner->req.lock);
>      vlc_mutex_init (&owner->dev.lock);
> -    owner->req.device = (char *)unset_str;
> +    owner->req.device = var_InheritString(parent, "audio-device");
> +    if (likely(owner->req.device == NULL))
> +        owner->req.device = (char *)unset_str;
>      owner->req.volume = -1.f;
>      owner->req.mute = -1;
>  
> diff --git a/src/libvlc-module.c b/src/libvlc-module.c
> index cd52b77d87..74d01eadac 100644
> --- a/src/libvlc-module.c
> +++ b/src/libvlc-module.c
> @@ -124,6 +124,13 @@ static const char *const ppsz_snap_formats[] =
>      "The default behavior is to automatically select the best method " \
>      "available.")
>  
> +#define AOUT_DEVICE_TEXT N_("Audio device")
> +#define AOUT_DEVICE_LONGTEXT N_( \
> +    "This is the audio device selected by the audio output module. " \
> +    "The default behavior is to automatically select the best method " \
> +    "available. Use the \"--list-audio-devices\" option to list
> available " \
> +    "audio devices.")
> +
>  #define ROLE_TEXT N_("Media role")
>  #define ROLE_LONGTEXT N_("Media (player) role for operating system
>  policy.")
>  
> @@ -1497,6 +1504,8 @@ vlc_module_begin ()
>      add_module( "aout", "audio output", NULL, AOUT_TEXT, AOUT_LONGTEXT,
>                  true )
>          change_short('A')
> +    add_string( "audio-device", NULL, AOUT_DEVICE_TEXT,
> +                AOUT_DEVICE_LONGTEXT, false )

again, this should be an advanced option, and maybe not translated then
?

>      add_string( "role", "video", ROLE_TEXT, ROLE_LONGTEXT, true )
>          change_string_list( ppsz_roles, ppsz_roles_text )
>  
> diff --git a/src/playlist/engine.c b/src/playlist/engine.c
> index a295b80cba..1f41912863 100644
> --- a/src/playlist/engine.c
> +++ b/src/playlist/engine.c
> @@ -452,7 +452,7 @@ static void VariablesInit( playlist_t *p_playlist )
>      var_Create( p_playlist, "video-wallpaper", VLC_VAR_BOOL |
>      VLC_VAR_DOINHERIT );
>  
>      /* Audio output parameters */
> -    var_Create( p_playlist, "audio-device", VLC_VAR_STRING );
> +    var_Create( p_playlist, "audio-device", VLC_VAR_STRING |
> VLC_VAR_DOINHERIT );
>      var_Create( p_playlist, "mute", VLC_VAR_BOOL );
>      var_Create( p_playlist, "volume", VLC_VAR_FLOAT );
>      var_SetFloat( p_playlist, "volume", -1.f );
> -- 
> 2.11.0
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list