HeaderExtensionId: Deprecate header extension functions taking int

Deprecate functions in api/rtp_parameters.h, rtp_header_extension_map.h
and rtp_rtcp_interface.h that take an int argument instead of an
RtpHeaderExtensionId argument.

Bug: webrtc:514817938
Change-Id: Ib1cc246cf3576dc5012344631432886e3d24d354
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/476321
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47841}
diff --git a/api/rtp_parameters.cc b/api/rtp_parameters.cc
index 7c038ce..df4673b 100644
--- a/api/rtp_parameters.cc
+++ b/api/rtp_parameters.cc
@@ -164,26 +164,7 @@
       preferred_id(preferred_id),
       preferred_encrypt(preferred_encrypt),
       direction(direction) {}
-RtpHeaderExtensionCapability::RtpHeaderExtensionCapability(
-    absl::string_view uri,
-    int preferred_id)
-    : uri(uri), preferred_id(RtpHeaderExtensionId(preferred_id)) {}
-RtpHeaderExtensionCapability::RtpHeaderExtensionCapability(
-    absl::string_view uri,
-    int preferred_id,
-    RtpTransceiverDirection direction)
-    : uri(uri),
-      preferred_id(RtpHeaderExtensionId(preferred_id)),
-      direction(direction) {}
-RtpHeaderExtensionCapability::RtpHeaderExtensionCapability(
-    absl::string_view uri,
-    int preferred_id,
-    bool preferred_encrypt,
-    RtpTransceiverDirection direction)
-    : uri(uri),
-      preferred_id(RtpHeaderExtensionId(preferred_id)),
-      preferred_encrypt(preferred_encrypt),
-      direction(direction) {}
+
 RtpHeaderExtensionCapability::~RtpHeaderExtensionCapability() = default;
 
 RtpExtension::RtpExtension() = default;
@@ -197,10 +178,7 @@
     : uri(uri), id(id), encrypt(encrypt) {
   RTC_DCHECK(id.Valid()) << "Extension ID " << id << " is not in valid range";
 }
-RtpExtension::RtpExtension(absl::string_view uri, int id)
-    : RtpExtension(uri, RtpHeaderExtensionId(id)) {}
-RtpExtension::RtpExtension(absl::string_view uri, int id, bool encrypt)
-    : RtpExtension(uri, RtpHeaderExtensionId(id), encrypt) {}
+
 RtpExtension::~RtpExtension() = default;
 
 RtpFecParameters::RtpFecParameters() = default;
diff --git a/api/rtp_parameters.h b/api/rtp_parameters.h
index e1e2d26..99fff6c 100644
--- a/api/rtp_parameters.h
+++ b/api/rtp_parameters.h
@@ -315,14 +315,25 @@
                                RtpTransceiverDirection direction);
   // Backwards compatibility overloads.
   // TODO: bugs.webrtc.org/514817938 - Remove when downstream is updated.
-  RtpHeaderExtensionCapability(absl::string_view uri, int preferred_id);
+  ABSL_DEPRECATE_AND_INLINE()
+  RtpHeaderExtensionCapability(absl::string_view uri, int preferred_id)
+      : RtpHeaderExtensionCapability(uri, RtpHeaderExtensionId(preferred_id)) {}
+  ABSL_DEPRECATE_AND_INLINE()
   RtpHeaderExtensionCapability(absl::string_view uri,
                                int preferred_id,
-                               RtpTransceiverDirection direction);
+                               RtpTransceiverDirection direction)
+      : RtpHeaderExtensionCapability(uri,
+                                     RtpHeaderExtensionId(preferred_id),
+                                     direction) {}
+  ABSL_DEPRECATE_AND_INLINE()
   RtpHeaderExtensionCapability(absl::string_view uri,
                                int preferred_id,
                                bool preferred_encrypt,
-                               RtpTransceiverDirection direction);
+                               RtpTransceiverDirection direction)
+      : RtpHeaderExtensionCapability(uri,
+                                     RtpHeaderExtensionId(preferred_id),
+                                     preferred_encrypt,
+                                     direction) {}
   ~RtpHeaderExtensionCapability();
 
   bool operator==(const RtpHeaderExtensionCapability& o) const {
@@ -364,8 +375,12 @@
   RtpExtension(absl::string_view uri, RtpHeaderExtensionId id, bool encrypt);
   // Backwards compatibility overloads.
   // TODO: bugs.webrtc.org/514817938 - Remove when downstream is updated.
-  RtpExtension(absl::string_view uri, int id);
-  RtpExtension(absl::string_view uri, int id, bool encrypt);
+  ABSL_DEPRECATE_AND_INLINE()
+  RtpExtension(absl::string_view uri, int id)
+      : RtpExtension(uri, RtpHeaderExtensionId(id)) {}
+  ABSL_DEPRECATE_AND_INLINE()
+  RtpExtension(absl::string_view uri, int id, bool encrypt)
+      : RtpExtension(uri, RtpHeaderExtensionId(id), encrypt) {}
   ~RtpExtension();
 
   std::string ToString() const;
diff --git a/modules/rtp_rtcp/include/rtp_header_extension_map.h b/modules/rtp_rtcp/include/rtp_header_extension_map.h
index b04d323..f9cf1ee 100644
--- a/modules/rtp_rtcp/include/rtp_header_extension_map.h
+++ b/modules/rtp_rtcp/include/rtp_header_extension_map.h
@@ -14,6 +14,7 @@
 #include <array>
 #include <span>
 
+#include "absl/base/macros.h"
 #include "absl/strings/string_view.h"
 #include "api/rtp_header_extension_id.h"
 #include "api/rtp_parameters.h"
@@ -41,14 +42,17 @@
   // Backwards compatibility overloads.
   // TODO: bugs.webrtc.org/514817938 - Remove when downstream is updated.
   template <typename Extension>
+  ABSL_DEPRECATE_AND_INLINE()
   bool Register(int id) {
     return Register<Extension>(RtpHeaderExtensionId(id));
   }
   bool RegisterByType(RtpHeaderExtensionId id, RTPExtensionType type);
+  ABSL_DEPRECATE_AND_INLINE()
   bool RegisterByType(int id, RTPExtensionType type) {
     return RegisterByType(RtpHeaderExtensionId(id), type);
   }
   bool RegisterByUri(RtpHeaderExtensionId id, absl::string_view uri);
+  ABSL_DEPRECATE_AND_INLINE()
   bool RegisterByUri(int id, absl::string_view uri) {
     return RegisterByUri(RtpHeaderExtensionId(id), uri);
   }
@@ -59,6 +63,7 @@
   // Return kInvalidType if not found.
   RTPExtensionType GetType(RtpHeaderExtensionId id) const;
   // TODO: bugs.webrtc.org/514817938 - Remove when downstream is updated.
+  ABSL_DEPRECATE_AND_INLINE()
   RTPExtensionType GetType(int id) const {
     return GetType(RtpHeaderExtensionId(id));
   }
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_interface.h b/modules/rtp_rtcp/source/rtp_rtcp_interface.h
index 136362c..a86a801 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_interface.h
+++ b/modules/rtp_rtcp/source/rtp_rtcp_interface.h
@@ -19,6 +19,7 @@
 #include <string>
 #include <vector>
 
+#include "absl/base/macros.h"
 #include "absl/strings/string_view.h"
 #include "api/frame_transformer_interface.h"
 #include "api/rtp_header_extension_id.h"
@@ -217,6 +218,7 @@
                                           RtpHeaderExtensionId id) = 0;
   // Backwards compatibility overload.
   // TODO: bugs.webrtc.org/514817938 - Remove when downstream is updated.
+  ABSL_DEPRECATE_AND_INLINE()
   void RegisterRtpHeaderExtension(absl::string_view uri, int id) {
     RegisterRtpHeaderExtension(uri, RtpHeaderExtensionId(id));
   }