blob: b3143604340af9a3141642369bb9c828489fdd92 [file] [log] [blame]
Jon Hjelle2bf9a5f2016-01-21 16:14:11 -08001/*
2 * Copyright 2015 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
11#import <Foundation/Foundation.h>
12
13NS_ASSUME_NONNULL_BEGIN
hjon6b039952016-02-25 12:32:58 -080014// TODO(hjon): Update nullability types. See http://crbug/webrtc/5592
Jon Hjelle2bf9a5f2016-01-21 16:14:11 -080015
16@class RTCAudioTrack;
17@class RTCVideoTrack;
18
19@interface RTCMediaStream : NSObject
20
21/** The audio tracks in this stream. */
hjon6b039952016-02-25 12:32:58 -080022@property(nonatomic, strong, readonly) NSArray *audioTracks;
23// @property(nonatomic, strong, readonly) NSArray<RTCAudioTrack *> *audioTracks;
Jon Hjelle2bf9a5f2016-01-21 16:14:11 -080024
25/** The video tracks in this stream. */
hjon6b039952016-02-25 12:32:58 -080026@property(nonatomic, strong, readonly) NSArray *videoTracks;
27// @property(nonatomic, strong, readonly) NSArray<RTCVideoTrack *> *videoTracks;
Jon Hjelle2bf9a5f2016-01-21 16:14:11 -080028
29/** An identifier for this media stream. */
30@property(nonatomic, readonly) NSString *streamId;
31
32- (instancetype)init NS_UNAVAILABLE;
33
34/** Adds the given audio track to this media stream. */
35- (void)addAudioTrack:(RTCAudioTrack *)audioTrack;
36
37/** Adds the given video track to this media stream. */
38- (void)addVideoTrack:(RTCVideoTrack *)videoTrack;
39
40/** Removes the given audio track to this media stream. */
41- (void)removeAudioTrack:(RTCAudioTrack *)audioTrack;
42
43/** Removes the given video track to this media stream. */
44- (void)removeVideoTrack:(RTCVideoTrack *)videoTrack;
45
46@end
47
48NS_ASSUME_NONNULL_END