diff --git a/modules/video_coding/codecs/h264/h264.cc b/modules/video_coding/codecs/h264/h264.cc
index 7771b13..4408fab 100644
--- a/modules/video_coding/codecs/h264/h264.cc
+++ b/modules/video_coding/codecs/h264/h264.cc
@@ -40,14 +40,17 @@
 #endif
 }
 
-SdpVideoFormat CreateH264Format(H264::Profile profile, H264::Level level) {
+SdpVideoFormat CreateH264Format(H264::Profile profile,
+                                H264::Level level,
+                                const std::string& packetization_mode) {
   const rtc::Optional<std::string> profile_string =
       H264::ProfileLevelIdToString(H264::ProfileLevelId(profile, level));
   RTC_CHECK(profile_string);
-  return SdpVideoFormat(cricket::kH264CodecName,
-                        {{cricket::kH264FmtpProfileLevelId, *profile_string},
-                         {cricket::kH264FmtpLevelAsymmetryAllowed, "1"},
-                         {cricket::kH264FmtpPacketizationMode, "1"}});
+  return SdpVideoFormat(
+      cricket::kH264CodecName,
+      {{cricket::kH264FmtpProfileLevelId, *profile_string},
+       {cricket::kH264FmtpLevelAsymmetryAllowed, "1"},
+       {cricket::kH264FmtpPacketizationMode, packetization_mode}});
 }
 
 }  // namespace
@@ -67,8 +70,15 @@
   // decoder for that profile is required to be able to decode CBP. This means
   // we can encode and send CBP even though we negotiated a potentially
   // higher profile. See the H264 spec for more information.
-  return {CreateH264Format(H264::kProfileBaseline, H264::kLevel3_1),
-          CreateH264Format(H264::kProfileConstrainedBaseline, H264::kLevel3_1)};
+  //
+  // We support both packetization modes 0 (mandatory) and 1 (optional,
+  // preferred).
+  return {
+      CreateH264Format(H264::kProfileBaseline, H264::kLevel3_1, "1"),
+      CreateH264Format(H264::kProfileBaseline, H264::kLevel3_1, "0"),
+      CreateH264Format(H264::kProfileConstrainedBaseline, H264::kLevel3_1, "1"),
+      CreateH264Format(H264::kProfileConstrainedBaseline, H264::kLevel3_1,
+                       "0")};
 }
 
 std::unique_ptr<H264Encoder> H264Encoder::Create(
