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
pull/1924/head
Richard Fuchs 2 months ago
parent 4f716cf2bf
commit 65bfe22d40

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

@ -4749,6 +4749,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