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 2d0781116f)
mr13.2.1
Richard Fuchs 9 months ago
parent 8d280c2fbe
commit 7ddd56fce0

@ -5138,11 +5138,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

@ -4670,6 +4670,7 @@ m=audio PORT RTP/AVP 8 101
c=IN IP4 203.0.113.1
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