RTCPeerConnectionFactoryBuilder.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright 2018 The WebRTC project authors. All Rights Reserved.
  3. *
  4. * Use of this source code is governed by a BSD-style license
  5. * that can be found in the LICENSE file in the root of the source
  6. * tree. An additional intellectual property rights grant can be found
  7. * in the file PATENTS. All contributing project authors may
  8. * be found in the AUTHORS file in the root of the source tree.
  9. */
  10. #import "RTCPeerConnectionFactory.h"
  11. #include "api/scoped_refptr.h"
  12. namespace webrtc {
  13. class AudioDeviceModule;
  14. class AudioEncoderFactory;
  15. class AudioDecoderFactory;
  16. class VideoEncoderFactory;
  17. class VideoDecoderFactory;
  18. class AudioProcessing;
  19. } // namespace webrtc
  20. NS_ASSUME_NONNULL_BEGIN
  21. @interface RTCPeerConnectionFactoryBuilder : NSObject
  22. + (RTCPeerConnectionFactoryBuilder *)builder;
  23. - (RTC_OBJC_TYPE(RTCPeerConnectionFactory) *)createPeerConnectionFactory;
  24. - (void)setVideoEncoderFactory:(std::unique_ptr<webrtc::VideoEncoderFactory>)videoEncoderFactory;
  25. - (void)setVideoDecoderFactory:(std::unique_ptr<webrtc::VideoDecoderFactory>)videoDecoderFactory;
  26. - (void)setAudioEncoderFactory:(rtc::scoped_refptr<webrtc::AudioEncoderFactory>)audioEncoderFactory;
  27. - (void)setAudioDecoderFactory:(rtc::scoped_refptr<webrtc::AudioDecoderFactory>)audioDecoderFactory;
  28. - (void)setAudioDeviceModule:(rtc::scoped_refptr<webrtc::AudioDeviceModule>)audioDeviceModule;
  29. - (void)setAudioProcessingModule:(rtc::scoped_refptr<webrtc::AudioProcessing>)audioProcessingModule;
  30. @end
  31. NS_ASSUME_NONNULL_END