commit fba8cd953218b8d34545aae8d5ed6334dafc6d8d
parent 147b93b65fc9cec5223b1e18ba22760cb387031a
Author: Dan Baker <dbaker@mozilla.com>
Date: Mon, 27 Oct 2025 15:07:45 -0600
Bug 1995393 - Vendor libwebrtc from e46a5d6bec
Upstream commit: https://webrtc.googlesource.com/src/+/e46a5d6bec35ef96ea85e641c97f0f1b42a12e86
Add a clock rate for illegal static audio codecs
This ensures that even if an illegal codec is parsed, it will not
cause a CHECK elsewhere.
Bug: chromium:441816631
Change-Id: Icdbf72b71975bd2d47c9674061d9ecf3199ee6e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/406940
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45480}
Diffstat:
3 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/third_party/libwebrtc/README.mozilla.last-vendor b/third_party/libwebrtc/README.mozilla.last-vendor
@@ -1,4 +1,4 @@
# ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc
-libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-27T21:05:32.064657+00:00.
+libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-27T21:07:32.541784+00:00.
# base of lastest vendoring
-cbffa764b7
+e46a5d6bec
diff --git a/third_party/libwebrtc/pc/webrtc_sdp.cc b/third_party/libwebrtc/pc/webrtc_sdp.cc
@@ -1994,8 +1994,8 @@ struct StaticPayloadAudioCodec {
};
const StaticPayloadAudioCodec kStaticPayloadAudioCodecs[] = {
{.name = "PCMU", .clockrate = 8000, .channels = 1},
- {.name = "reserved", .clockrate = 0, .channels = 0},
- {.name = "reserved", .clockrate = 0, .channels = 0},
+ {.name = "x-illegal-value-1", .clockrate = 8000, .channels = 0},
+ {.name = "x-illegal-value-2", .clockrate = 8000, .channels = 0},
{.name = "GSM", .clockrate = 8000, .channels = 1},
{.name = "G723", .clockrate = 8000, .channels = 1},
{.name = "DVI4", .clockrate = 8000, .channels = 1},
diff --git a/third_party/libwebrtc/pc/webrtc_sdp_unittest.cc b/third_party/libwebrtc/pc/webrtc_sdp_unittest.cc
@@ -5106,5 +5106,20 @@ TEST_F(WebRtcSdpTest, RejectsInvalidCharactersInBundleGroup) {
EXPECT_FALSE(SdpDeserialize(sdp_with_bad_bundle_tag, &desc, &error));
}
+// Regression test for https://issues.chromium.org/441816631
+TEST_F(WebRtcSdpTest, ShrugsOnUnknownStaticAudioCodecs) {
+ // Note: this SDP is illegal, and needs improving.
+ // See https://issues.webrtc.org/441854062 for details.
+ std::string sdp_with_audio_codec_1 =
+ "v=2\r\n"
+ "o=- 1 2 3 4 5\r\n"
+ "s=x\r\n"
+ "t=0\r\n"
+ "m=audio 0 1\r\n";
+ JsepSessionDescription desc(kDummyType);
+ SdpParseError error;
+ EXPECT_TRUE(SdpDeserialize(sdp_with_audio_codec_1, &desc, &error));
+}
+
} // namespace
} // namespace webrtc