RTCMediaSource+Private.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * Copyright 2016 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 "RTCMediaSource.h"
  11. #include "api/media_stream_interface.h"
  12. NS_ASSUME_NONNULL_BEGIN
  13. @class RTC_OBJC_TYPE(RTCPeerConnectionFactory);
  14. typedef NS_ENUM(NSInteger, RTCMediaSourceType) {
  15. RTCMediaSourceTypeAudio,
  16. RTCMediaSourceTypeVideo,
  17. };
  18. @interface RTC_OBJC_TYPE (RTCMediaSource)
  19. ()
  20. @property(nonatomic,
  21. readonly) rtc::scoped_refptr<webrtc::MediaSourceInterface> nativeMediaSource;
  22. - (instancetype)initWithFactory:(RTC_OBJC_TYPE(RTCPeerConnectionFactory) *)factory
  23. nativeMediaSource:(rtc::scoped_refptr<webrtc::MediaSourceInterface>)nativeMediaSource
  24. type:(RTCMediaSourceType)type NS_DESIGNATED_INITIALIZER;
  25. + (webrtc::MediaSourceInterface::SourceState)nativeSourceStateForState:(RTCSourceState)state;
  26. + (RTCSourceState)sourceStateForNativeState:(webrtc::MediaSourceInterface::SourceState)nativeState;
  27. + (NSString *)stringForState:(RTCSourceState)state;
  28. @end
  29. NS_ASSUME_NONNULL_END