[vlc-devel] [PATCH v2 2/4] aout: winstore: handle the "volume-save"
Rémi Denis-Courmont
remi at remlab.net
Fri Jun 26 16:07:18 CEST 2020
Le perjantaina 26. kesäkuuta 2020, 12.34.49 EEST Steve Lhomme a écrit :
> ---
> modules/audio_output/winstore.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/modules/audio_output/winstore.c
> b/modules/audio_output/winstore.c index ac225fd84c8..f108b577ebe 100644
> --- a/modules/audio_output/winstore.c
> +++ b/modules/audio_output/winstore.c
> @@ -212,7 +212,9 @@ static int aout_stream_Start(void *func, bool forced,
> va_list ap) HRESULT *hr = va_arg(ap, HRESULT *);
>
> (void) forced;
> - *hr = start(s, fmt, &GUID_VLC_AUD_OUT);
> + LPCGUID guid = var_GetBool(s, "volume-save") ? &GUID_VLC_AUD_OUT :
> NULL; +
> + *hr = start(s, fmt, guid);
> return SUCCEEDED(*hr) ? VLC_SUCCESS : VLC_EGENERIC;
> }
>
> @@ -283,6 +285,9 @@ static int Open(vlc_object_t *obj)
> if (unlikely(sys == NULL))
> return VLC_ENOMEM;
>
> + if (!var_CreateGetBool(aout, "volume-save"))
> + VolumeSet(aout, var_InheritFloat(aout, "mmdevice-volume"));
If the OS maintains the session, this should not be needed at all. And
otherwise, it should not steal another module's option name.
> +
> aout->sys = sys;
> sys->stream = NULL;
> sys->client = var_CreateGetAddress( vlc_object_parent(aout),
> "winstore-client" ); @@ -308,6 +313,9 @@ static void Close(vlc_object_t
> *obj)
> free(sys);
> }
>
> +#define VOLUME_TEXT N_("Audio volume")
> +#define VOLUME_LONGTEXT N_("Audio volume in hundredths of decibels (dB).")
> +
> vlc_module_begin()
> set_shortname("winstore")
> set_description("Windows Store audio output")
> @@ -316,4 +324,6 @@ vlc_module_begin()
> set_subcategory(SUBCAT_AUDIO_AOUT)
> add_shortcut("wasapi")
> set_callbacks(Open, Close)
> + add_float("mmdevice-volume", 1.f, VOLUME_TEXT, VOLUME_LONGTEXT, true)
> + change_float_range( 0.f, 1.25f )
> vlc_module_end()
--
雷米‧德尼-库尔蒙
http://www.remlab.net/
More information about the vlc-devel
mailing list