Move MediaConstraintsInterface to sdk/, and make it a concrete class

Bug: webrtc:9239
Change-Id: I545ebf59b078dd94bc466886616dd374e4b2e226
Reviewed-on: https://webrtc-review.googlesource.com/c/122502
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26682}
diff --git a/sdk/objc/api/peerconnection/RTCMediaConstraints+Private.h b/sdk/objc/api/peerconnection/RTCMediaConstraints+Private.h
index 335b029..b3e1b10 100644
--- a/sdk/objc/api/peerconnection/RTCMediaConstraints+Private.h
+++ b/sdk/objc/api/peerconnection/RTCMediaConstraints+Private.h
@@ -12,25 +12,7 @@
 
 #include <memory>
 
-#include "api/media_constraints_interface.h"
-
-namespace webrtc {
-
-class MediaConstraints : public MediaConstraintsInterface {
- public:
-  ~MediaConstraints() override;
-  MediaConstraints();
-  MediaConstraints(const MediaConstraintsInterface::Constraints& mandatory,
-                   const MediaConstraintsInterface::Constraints& optional);
-  const Constraints& GetMandatory() const override;
-  const Constraints& GetOptional() const override;
-
- private:
-  MediaConstraintsInterface::Constraints mandatory_;
-  MediaConstraintsInterface::Constraints optional_;
-};
-
-}  // namespace webrtc
+#include "sdk/media_constraints.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
@@ -43,8 +25,8 @@
 - (std::unique_ptr<webrtc::MediaConstraints>)nativeConstraints;
 
 /** Return a native Constraints object representing these constraints */
-+ (webrtc::MediaConstraintsInterface::Constraints)nativeConstraintsForConstraints:
-        (NSDictionary<NSString*, NSString*>*)constraints;
++ (webrtc::MediaConstraints::Constraints)nativeConstraintsForConstraints:
+    (NSDictionary<NSString*, NSString*>*)constraints;
 
 @end
 
diff --git a/sdk/objc/api/peerconnection/RTCMediaConstraints.mm b/sdk/objc/api/peerconnection/RTCMediaConstraints.mm
index 0a6b9d8..bfdbdde 100644
--- a/sdk/objc/api/peerconnection/RTCMediaConstraints.mm
+++ b/sdk/objc/api/peerconnection/RTCMediaConstraints.mm
@@ -14,46 +14,19 @@
 
 #include <memory>
 
-NSString * const kRTCMediaConstraintsAudioNetworkAdaptorConfig =
-    @(webrtc::MediaConstraintsInterface::kAudioNetworkAdaptorConfig);
+NSString *const kRTCMediaConstraintsAudioNetworkAdaptorConfig =
+    @(webrtc::MediaConstraints::kAudioNetworkAdaptorConfig);
 
-NSString * const kRTCMediaConstraintsIceRestart =
-    @(webrtc::MediaConstraintsInterface::kIceRestart);
-NSString * const kRTCMediaConstraintsOfferToReceiveAudio =
-    @(webrtc::MediaConstraintsInterface::kOfferToReceiveAudio);
-NSString * const kRTCMediaConstraintsOfferToReceiveVideo =
-    @(webrtc::MediaConstraintsInterface::kOfferToReceiveVideo);
-NSString * const kRTCMediaConstraintsVoiceActivityDetection =
-    @(webrtc::MediaConstraintsInterface::kVoiceActivityDetection);
+NSString *const kRTCMediaConstraintsIceRestart = @(webrtc::MediaConstraints::kIceRestart);
+NSString *const kRTCMediaConstraintsOfferToReceiveAudio =
+    @(webrtc::MediaConstraints::kOfferToReceiveAudio);
+NSString *const kRTCMediaConstraintsOfferToReceiveVideo =
+    @(webrtc::MediaConstraints::kOfferToReceiveVideo);
+NSString *const kRTCMediaConstraintsVoiceActivityDetection =
+    @(webrtc::MediaConstraints::kVoiceActivityDetection);
 
-NSString * const kRTCMediaConstraintsValueTrue =
-    @(webrtc::MediaConstraintsInterface::kValueTrue);
-NSString * const kRTCMediaConstraintsValueFalse =
-    @(webrtc::MediaConstraintsInterface::kValueFalse);
-
-namespace webrtc {
-
-MediaConstraints::~MediaConstraints() {}
-
-MediaConstraints::MediaConstraints() {}
-
-MediaConstraints::MediaConstraints(
-    const MediaConstraintsInterface::Constraints& mandatory,
-    const MediaConstraintsInterface::Constraints& optional)
-    : mandatory_(mandatory), optional_(optional) {}
-
-const MediaConstraintsInterface::Constraints&
-MediaConstraints::GetMandatory() const {
-  return mandatory_;
-}
-
-const MediaConstraintsInterface::Constraints&
-MediaConstraints::GetOptional() const {
-  return optional_;
-}
-
-}  // namespace webrtc
-
+NSString *const kRTCMediaConstraintsValueTrue = @(webrtc::MediaConstraints::kValueTrue);
+NSString *const kRTCMediaConstraintsValueFalse = @(webrtc::MediaConstraints::kValueFalse);
 
 @implementation RTCMediaConstraints {
   NSDictionary<NSString *, NSString *> *_mandatory;
@@ -82,9 +55,9 @@
 #pragma mark - Private
 
 - (std::unique_ptr<webrtc::MediaConstraints>)nativeConstraints {
-  webrtc::MediaConstraintsInterface::Constraints mandatory =
+  webrtc::MediaConstraints::Constraints mandatory =
       [[self class] nativeConstraintsForConstraints:_mandatory];
-  webrtc::MediaConstraintsInterface::Constraints optional =
+  webrtc::MediaConstraints::Constraints optional =
       [[self class] nativeConstraintsForConstraints:_optional];
 
   webrtc::MediaConstraints *nativeConstraints =
@@ -92,10 +65,9 @@
   return std::unique_ptr<webrtc::MediaConstraints>(nativeConstraints);
 }
 
-+ (webrtc::MediaConstraintsInterface::Constraints)
-    nativeConstraintsForConstraints:
-        (NSDictionary<NSString *, NSString *> *)constraints {
-  webrtc::MediaConstraintsInterface::Constraints nativeConstraints;
++ (webrtc::MediaConstraints::Constraints)nativeConstraintsForConstraints:
+    (NSDictionary<NSString *, NSString *> *)constraints {
+  webrtc::MediaConstraints::Constraints nativeConstraints;
   for (NSString *key in constraints) {
     NSAssert([key isKindOfClass:[NSString class]],
              @"%@ is not an NSString.", key);
@@ -107,11 +79,10 @@
       NSData *charData = [[NSData alloc] initWithBase64EncodedString:value options:0];
       std::string configValue =
           std::string(reinterpret_cast<const char *>(charData.bytes), charData.length);
-      nativeConstraints.push_back(webrtc::MediaConstraintsInterface::Constraint(
-          key.stdString, configValue));
+      nativeConstraints.push_back(webrtc::MediaConstraints::Constraint(key.stdString, configValue));
     } else {
-      nativeConstraints.push_back(webrtc::MediaConstraintsInterface::Constraint(
-          key.stdString, value.stdString));
+      nativeConstraints.push_back(
+          webrtc::MediaConstraints::Constraint(key.stdString, value.stdString));
     }
   }
   return nativeConstraints;
diff --git a/sdk/objc/unittests/RTCMediaConstraintsTest.mm b/sdk/objc/unittests/RTCMediaConstraintsTest.mm
index f50149d..4d5e450 100644
--- a/sdk/objc/unittests/RTCMediaConstraintsTest.mm
+++ b/sdk/objc/unittests/RTCMediaConstraintsTest.mm
@@ -34,18 +34,15 @@
   std::unique_ptr<webrtc::MediaConstraints> nativeConstraints =
       [constraints nativeConstraints];
 
-  webrtc::MediaConstraintsInterface::Constraints nativeMandatory =
-      nativeConstraints->GetMandatory();
+  webrtc::MediaConstraints::Constraints nativeMandatory = nativeConstraints->GetMandatory();
   [self expectConstraints:mandatory inNativeConstraints:nativeMandatory];
 
-  webrtc::MediaConstraintsInterface::Constraints nativeOptional =
-      nativeConstraints->GetOptional();
+  webrtc::MediaConstraints::Constraints nativeOptional = nativeConstraints->GetOptional();
   [self expectConstraints:optional inNativeConstraints:nativeOptional];
 }
 
 - (void)expectConstraints:(NSDictionary *)constraints
-      inNativeConstraints:
-    (webrtc::MediaConstraintsInterface::Constraints)nativeConstraints {
+      inNativeConstraints:(webrtc::MediaConstraints::Constraints)nativeConstraints {
   EXPECT_EQ(constraints.count, nativeConstraints.size());
 
   for (NSString *key in constraints) {