preserve supplemental codecs in publish mode#2100
preserve supplemental codecs in publish mode#2100orgads wants to merge 1 commit intosipwise:masterfrom
Conversation
6bc068c to
2cb2240
Compare
|
Rebased on top of #2101 to fix CI. |
|
@rfuchs ping |
|
Seems like this is a little misbehaved in that it accepts all supplemental codecs, and not just the ones matching the accepted primary codec. When I publish with it answers with The 48000 ones aren't supposed to be there. Also the test outputs should be exact matches as much as possible, with regex matches only where variable output is expected (e.g. port numbers). |
|
Good catch! Should be fixed now. |
|
hmm... Turns out our SBC sends hardcoded We will fix the SBC, but this will take time. So we can either keep using a patched version of rtpengine, or work out a compatible solution... |
|
Pff... Does it provide a
I suppose so? If the offerer doesn't agree with it, then technically they should just ignore it. OTOH I wouldn't be surprised if this lead to failures in some other fringe cases 🤦 |
Unfortunately not. Sample SDP:
I'll need to discuss this internally first. Since we won't be updating to upstream rtpengine soon (and when we will, I hope to get the SBC fix along with that), I suppose you can just merge it as it is now (if it is acceptable of course). We'll use the patched version until then. Thank you! |
Add RED (RFC 2198) codec definition to codeclib as a supplemental codec. Modify codec_store_accept_one() to preserve supplemental codecs whose clock rate matches the accepted primary codec. Skip supplemental codecs in codec_store_is_full_answer() since they are optional in SDP answers.
|
Rebased to resolve the conflict. |
|
All right, thank you. We could use more/proper support for RED anyway, but this is a wishlist item for now. |
Add RED (RFC 2198) codec definition to codeclib as a supplemental codec. Modify codec_store_accept_one() to preserve supplemental codecs whose clock rate matches the accepted primary codec. Skip supplemental codecs in codec_store_is_full_answer() since they are optional in SDP answers.