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}
This commit is contained in:
@ -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 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (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
|
||||
|
||||
|
||||
@ -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 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 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::MediaConstraints::kValueTrue);
|
||||
NSString *const kRTCMediaConstraintsValueFalse = @(webrtc::MediaConstraints::kValueFalse);
|
||||
|
||||
@implementation RTCMediaConstraints {
|
||||
NSDictionary<NSString *, NSString *> *_mandatory;
|
||||
@ -82,9 +55,9 @@ MediaConstraints::GetOptional() const {
|
||||
#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 @@ MediaConstraints::GetOptional() const {
|
||||
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 @@ MediaConstraints::GetOptional() const {
|
||||
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;
|
||||
|
||||
@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user