SDP munging
Also written munging, SDP mangling
Editing the SDP string by hand between createOffer and setLocalDescription. Almost every reason to do it now has a real API.
For years the only way to change anything the API did not expose was to treat the SDP as a text file: reorder payload types to force a codec, rewrite b=AS: to cap bitrate, splice in simulcast lines, strip a codec that crashed a decoder.
It works until it does not. The SDP the browser produces is tied to internal state, and an edit that looks harmless can put the two out of sync in ways that surface three negotiations later as a stream that silently stops.
Most of the old reasons are gone. Codec order is RTCRtpTransceiver.setCodecPreferences(). Bitrate is RTCRtpSender.setParameters(). Simulcast is sendEncodings on addTransceiver(). Header extensions have their own API. The spec already says setLocalDescription must reject a description the browser did not generate. No engine enforces that, which is a thin thing to build on.
If you still need it, keep the edit as small as possible and re-check it on every browser release.