MT#55283 fix missing mode-set with reuse-codecs

With reuse-codecs, we still need to place the codec from the SDP into
our prefs list, even if it's already present, as the format options may
have changed. Update one affected test case.

Closes #1921

Change-Id: I688c57a8c45ec4c3bf159fe2193a0e00bbceeda2
(cherry picked from commit 65bfe22d40)
(cherry picked from commit 789971d929)
mr12.5.1
Richard Fuchs 2 months ago
parent 53def4b59e
commit c0afced34c

@ -5145,11 +5145,16 @@ void __codec_store_populate_reuse(struct codec_store *dst, struct codec_store *s
pt->reverse_payload_type = pt->payload_type;
if (orig_pt)
if (orig_pt) {
ilogs(codec, LOG_DEBUG, "Retaining codec " STR_FORMAT "/" STR_FORMAT " (%i)",
STR_FMT(&pt->encoding_with_params),
STR_FMT0(&pt->format_parameters),
pt->payload_type);
// replace existing entry with new one in same position,
// in case options have changed
__auto_type pos = __codec_store_delete_link(orig_pt->prefs_link, dst);
codec_store_add_raw_link(dst, rtp_payload_type_dup(pt), pos);
}
else {
if (!a.answer_only) {
ilogs(codec, LOG_DEBUG, "Adding codec " STR_FORMAT "/" STR_FORMAT

@ -1860,6 +1860,7 @@ t=0 0
m=audio PORT RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=silenceSupp:off - - - -
a=mptime:20 20 -
a=sendrecv

Loading…
Cancel
Save