/* * Copyright 2017 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. */ #ifndef SDK_OBJC_NATIVE_SRC_OBJC_VIDEO_ENCODER_FACTORY_H_ #define SDK_OBJC_NATIVE_SRC_OBJC_VIDEO_ENCODER_FACTORY_H_ #import #import "base/RTCMacros.h" #include "api/video_codecs/video_encoder_factory.h" @protocol RTC_OBJC_TYPE (RTCVideoEncoderFactory); namespace webrtc { class ObjCVideoEncoderFactory : public VideoEncoderFactory { public: explicit ObjCVideoEncoderFactory(id); ~ObjCVideoEncoderFactory() override; id wrapped_encoder_factory() const; std::vector GetSupportedFormats() const override; std::vector GetImplementations() const override; std::unique_ptr CreateVideoEncoder(const SdpVideoFormat& format) override; std::unique_ptr GetEncoderSelector() const override; private: id encoder_factory_; }; } // namespace webrtc #endif // SDK_OBJC_NATIVE_SRC_OBJC_VIDEO_ENCODER_FACTORY_H_