You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.1 KiB
63 lines
2.1 KiB
/*
|
|
* 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 "RTCMediaStreamTrack.h"
|
|
|
|
#include "api/media_stream_interface.h"
|
|
|
|
typedef NS_ENUM(NSInteger, RTCMediaStreamTrackType) {
|
|
RTCMediaStreamTrackTypeAudio,
|
|
RTCMediaStreamTrackTypeVideo,
|
|
};
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@class RTC_OBJC_TYPE(RTCPeerConnectionFactory);
|
|
|
|
@interface RTC_OBJC_TYPE (RTCMediaStreamTrack)
|
|
()
|
|
|
|
@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCPeerConnectionFactory) *
|
|
factory;
|
|
|
|
/**
|
|
* The native MediaStreamTrackInterface passed in or created during
|
|
* construction.
|
|
*/
|
|
@property(nonatomic, readonly) rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> nativeTrack;
|
|
|
|
/**
|
|
* Initialize an RTCMediaStreamTrack from a native MediaStreamTrackInterface.
|
|
*/
|
|
- (instancetype)initWithFactory:(RTC_OBJC_TYPE(RTCPeerConnectionFactory) *)factory
|
|
nativeTrack:(rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack
|
|
type:(RTCMediaStreamTrackType)type NS_DESIGNATED_INITIALIZER;
|
|
|
|
- (instancetype)initWithFactory:(RTC_OBJC_TYPE(RTCPeerConnectionFactory) *)factory
|
|
nativeTrack:(rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack;
|
|
|
|
- (BOOL)isEqualToTrack:(RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track;
|
|
|
|
+ (webrtc::MediaStreamTrackInterface::TrackState)nativeTrackStateForState:
|
|
(RTCMediaStreamTrackState)state;
|
|
|
|
+ (RTCMediaStreamTrackState)trackStateForNativeState:
|
|
(webrtc::MediaStreamTrackInterface::TrackState)nativeState;
|
|
|
|
+ (NSString *)stringForState:(RTCMediaStreamTrackState)state;
|
|
|
|
+ (RTC_OBJC_TYPE(RTCMediaStreamTrack) *)
|
|
mediaTrackForNativeTrack:(rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack
|
|
factory:(RTC_OBJC_TYPE(RTCPeerConnectionFactory) *)factory;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|