From b157683945881d4901f7681a9d82e5782e7e7d48 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 31 Mar 2026 12:52:10 -0400 Subject: [PATCH] MT#55283 move enabling of audio player Change-Id: I24a0064a38548eeb94612b4096a058448810a339 --- daemon/call.c | 14 ++++++++++++++ daemon/codec.c | 8 +------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/daemon/call.c b/daemon/call.c index 2d2401540..b58f122ac 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -3094,6 +3094,14 @@ static void media_set_extmap(struct call_media *media, const extmap_q *emq, } } +__attribute__((nonnull(1, 2))) +static void media_set_audio_player(struct call_media *media, sdp_ng_flags *flags) { + if (flags->audio_player == AP_FORCE || rtpe_config.use_audio_player == UAP_ALWAYS) + MEDIA_SET(media, AUDIO_PLAYER); + else if (flags->audio_player == AP_OFF) + MEDIA_CLEAR(media, AUDIO_PLAYER); +} + __attribute__((nonnull(1, 2))) static void media_init_from_flags(struct call_media *media, sdp_ng_flags *flags) { if (flags->opmode == OP_OFFER && flags->reset) { @@ -3870,6 +3878,7 @@ int monologue_offer_answer(struct call_monologue *monologues[2], sdp_streams_q * media_init_from_flags(sender_media, flags); media_init_from_flags(receiver_media, flags); + media_set_audio_player(sender_media, flags); media_set_echo(sender_media, flags); media_set_echo_reverse(receiver_media, flags); if (media_update_type(sender_media, sp)) @@ -4318,6 +4327,7 @@ int monologue_publish(struct call_monologue *ml, sdp_streams_q *streams, sdp_ng_ struct call_media *media = __get_media(ml, sp, flags, 0, mid_tracker); media_init_from_flags(media, flags); + media_set_audio_player(media, flags); media_update_type(media, sp); media_update_protocol(media, sp); media_update_media_id(media, sp); @@ -4425,6 +4435,7 @@ static int monologue_subscribe_request1(struct call_media *src_media, struct cal media_init_from_flags(src_media, flags); media_init_from_flags(dst_media, flags); + media_set_audio_player(dst_media, flags); media_set_echo(src_media, flags); media_set_echo_reverse(dst_media, flags); media_set_siprec_label(dst_media, flags, src_media->unique_id); @@ -4536,6 +4547,7 @@ int monologue_subscribe_answer(struct call_monologue *dst_ml, sdp_ng_flags *flag rev_ms->attrs.transcoding = false; media_init_from_flags(dst_media, flags); + media_set_audio_player(dst_media, flags); media_update_protocol(dst_media, sp); media_answer_media_id(dst_media, sp); media_loop_protect(sp, dst_media); @@ -4862,6 +4874,8 @@ void dialogue_connect(struct call_monologue *src_ml, struct call_monologue *dst_ __medias_unconfirm(&medias, "connect"); + media_set_audio_player(dst_media, flags); + codec_handlers_update(src_media, dst_media, .allow_asymmetric = !!flags->allow_asymmetric_codecs); codec_handlers_update(dst_media, src_media, diff --git a/daemon/codec.c b/daemon/codec.c index 6878b755f..afb13731e 100644 --- a/daemon/codec.c +++ b/daemon/codec.c @@ -1502,13 +1502,7 @@ void __codec_handlers_update(struct call_media *receiver, struct call_media *sin bool use_audio_player = !!MEDIA_ISSET(sink, AUDIO_PLAYER); bool implicit_audio_player = false; - if (a.flags && a.flags->audio_player == AP_FORCE) - use_audio_player = true; - else if (a.flags && a.flags->audio_player == AP_OFF) - use_audio_player = false; - else if (rtpe_config.use_audio_player == UAP_ALWAYS) - use_audio_player = true; - else if (rtpe_config.use_audio_player == UAP_PLAY_MEDIA) { + if (rtpe_config.use_audio_player == UAP_PLAY_MEDIA) { // check for implicitly enabled player if ((a.flags && a.flags->opmode == OP_PLAY_MEDIA) || (media_player_is_active(other_monologue))) { use_audio_player = true;