/* * Copyright 2015 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #import "RTCMediaConstraints.h" #include #include "api/mediaconstraintsinterface.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 NS_ASSUME_NONNULL_BEGIN @interface RTCMediaConstraints () /** * A MediaConstraints representation of this RTCMediaConstraints object. This is * needed to pass to the underlying C++ APIs. */ - (std::unique_ptr)nativeConstraints; /** Return a native Constraints object representing these constraints */ + (webrtc::MediaConstraintsInterface::Constraints)nativeConstraintsForConstraints: (NSDictionary*)constraints; @end NS_ASSUME_NONNULL_END