[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