From 4560d93bf0f2494f4f1344ac1840801911be7319 Mon Sep 17 00:00:00 2001 From: Dudemanguy Date: Fri, 1 Mar 2024 09:20:15 -0600 Subject: Revert "player: add ao-volume option, to set the system volume at startup" Ended up being a bad idea. As a property, this inherently has more functionality and the tradeoff of being able to do --ao-volume wasn't worth it. This reverts commit 58ed620c064971535e60778612777750aa5e2f4d. --- player/audio.c | 18 +----------------- player/command.c | 15 +++++++++------ player/core.h | 1 - 3 files changed, 10 insertions(+), 24 deletions(-) (limited to 'player') diff --git a/player/audio.c b/player/audio.c index f5379ca59b..7a37c0d2f2 100644 --- a/player/audio.c +++ b/player/audio.c @@ -182,19 +182,6 @@ void audio_update_volume(struct MPContext *mpctx) ao_set_gain(ao_c->ao, gain); } -// Called when opts->ao_volume were changed. -void audio_update_ao_volume(struct MPContext *mpctx) -{ - struct MPOpts *opts = mpctx->opts; - struct ao *ao = mpctx->ao; - float vol = opts->ao_volume; - if (!ao || vol < 0) - return; - - ao_control(ao, AOCONTROL_SET_VOLUME, &vol); -} - - // Call this if opts->playback_speed or mpctx->speed_factor_* change. void update_playback_speed(struct MPContext *mpctx) { @@ -348,7 +335,6 @@ static void ao_chain_set_ao(struct ao_chain *ao_c, struct ao *ao) // Make sure filtering never stops with frames stuck in access filter. mp_filter_set_high_priority(ao_c->queue_filter, true); audio_update_volume(ao_c->mpctx); - audio_update_ao_volume(ao_c->mpctx); } if (ao_c->filter->ao_needs_update) @@ -607,10 +593,8 @@ void reinit_audio_chain_src(struct MPContext *mpctx, struct track *track) if (recreate_audio_filters(mpctx) < 0) goto init_error; - if (mpctx->ao) { + if (mpctx->ao) audio_update_volume(mpctx); - audio_update_ao_volume(mpctx); - } mp_wakeup_core(mpctx); return; diff --git a/player/command.c b/player/command.c index f8fac69ef7..2690fd4a27 100644 --- a/player/command.c +++ b/player/command.c @@ -1681,6 +1681,12 @@ static int mp_property_ao_volume(void *ctx, struct m_property *prop, return M_PROPERTY_NOT_IMPLEMENTED; switch (action) { + case M_PROPERTY_SET: { + float vol = *(float *)arg; + if (ao_control(ao, AOCONTROL_SET_VOLUME, &vol) != CONTROL_OK) + return M_PROPERTY_UNAVAILABLE; + return M_PROPERTY_OK; + } case M_PROPERTY_GET: { if (ao_control(ao, AOCONTROL_GET_VOLUME, arg) != CONTROL_OK) return M_PROPERTY_UNAVAILABLE; @@ -3941,7 +3947,7 @@ static const struct m_property mp_properties_base[] = { {"mixer-active", mp_property_mixer_active}, {"volume", mp_property_volume}, {"volume-gain", mp_property_volume_gain}, - {"current-ao-volume", mp_property_ao_volume}, + {"ao-volume", mp_property_ao_volume}, {"ao-mute", mp_property_ao_mute}, {"audio-delay", mp_property_audio_delay}, {"audio-codec-name", mp_property_audio_codec_name}, @@ -4292,8 +4298,8 @@ static const struct property_osd_display { {"volume-gain", "Volume gain", .msg = "Volume gain: ${?volume-gain:${volume-gain} dB ${?mute==yes:(Muted)}}${!volume-gain:${volume-gain}}", .osd_progbar = OSD_VOLUME, .marker = 0}, - {"current-ao-volume", "AO Volume", - .msg = "AO Volume: ${?current-ao-volume:${current-ao-volume}% ${?ao-mute==yes:(Muted)}}${!current-ao-volume:${currene-ao-volume}}", + {"ao-volume", "AO Volume", + .msg = "AO Volume: ${?ao-volume:${ao-volume}% ${?ao-mute==yes:(Muted)}}${!ao-volume:${ao-volume}}", .osd_progbar = OSD_VOLUME, .marker = 100}, {"mute", "Mute"}, {"ao-mute", "AO Mute"}, @@ -7269,9 +7275,6 @@ void mp_option_change_callback(void *ctx, struct m_config_option *co, int flags, mp_wakeup_core(mpctx); } - if (opt_ptr == &opts->ao_volume) - audio_update_ao_volume(mpctx); - if (flags & UPDATE_HWDEC) { struct track *track = mpctx->current_track[0][STREAM_VIDEO]; struct mp_decoder_wrapper *dec = track ? track->dec : NULL; diff --git a/player/core.h b/player/core.h index 9dc6b8bf90..dcb3c27e12 100644 --- a/player/core.h +++ b/player/core.h @@ -487,7 +487,6 @@ void uninit_audio_out(struct MPContext *mpctx); void uninit_audio_chain(struct MPContext *mpctx); void reinit_audio_chain_src(struct MPContext *mpctx, struct track *track); void audio_update_volume(struct MPContext *mpctx); -void audio_update_ao_volume(struct MPContext *mpctx); void reload_audio_output(struct MPContext *mpctx); void audio_start_ao(struct MPContext *mpctx); -- cgit v1.2.3