blob: c63f9ed44337a2c4a1001df522b74d04dd781e0e [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
14
15@class RTCAudioTrack;
16@class RTCVideoTrack;
17
18@interface RTCMediaStream : NSObject
19
20/** The audio tracks in this stream. */
21@property(nonatomic, strong, readonly) NSArray<RTCAudioTrack *> *audioTracks;
22
23/** The video tracks in this stream. */
24@property(nonatomic, strong, readonly) NSArray<RTCVideoTrack *> *videoTracks;
25
26/** An identifier for this media stream. */
27@property(nonatomic, readonly) NSString *streamId;
28
29- (instancetype)init NS_UNAVAILABLE;
30
31/** Adds the given audio track to this media stream. */
32- (void)addAudioTrack:(RTCAudioTrack *)audioTrack;
33
34/** Adds the given video track to this media stream. */
35- (void)addVideoTrack:(RTCVideoTrack *)videoTrack;
36
37/** Removes the given audio track to this media stream. */
38- (void)removeAudioTrack:(RTCAudioTrack *)audioTrack;
39
40/** Removes the given video track to this media stream. */
41- (void)removeVideoTrack:(RTCVideoTrack *)videoTrack;
42
43@end
44
45NS_ASSUME_NONNULL_END