blob: 1827e6b9240e9e9198705cc7c098eb65ae980f20 [file] [log] [blame]
Jon Hjellef6c318e2016-01-11 14:39:01 -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
Anders Carlsson7bca8ca2018-08-30 09:30:29 +020011#import "RTCVideoSource.h"
Jon Hjellef6c318e2016-01-11 14:39:01 -080012
tkchind4bfbfc2016-08-30 11:56:05 -070013#import "RTCMediaSource+Private.h"
14
Steve Anton10542f22019-01-11 09:11:00 -080015#include "api/media_stream_interface.h"
Yves Gerey2e00abc2018-10-05 15:39:24 +020016#include "rtc_base/thread.h"
Jon Hjellef6c318e2016-01-11 14:39:01 -080017
18NS_ASSUME_NONNULL_BEGIN
19
Jon Hjelle065aacc2016-01-20 13:25:44 -080020@interface RTCVideoSource ()
Jon Hjellef6c318e2016-01-11 14:39:01 -080021
22/**
perkja3ede6c2016-03-08 01:27:48 +010023 * The VideoTrackSourceInterface object passed to this RTCVideoSource during
Jon Hjellef6c318e2016-01-11 14:39:01 -080024 * construction.
25 */
Yves Gerey665174f2018-06-19 15:03:05 +020026@property(nonatomic, readonly) rtc::scoped_refptr<webrtc::VideoTrackSourceInterface>
27 nativeVideoSource;
Jon Hjellef6c318e2016-01-11 14:39:01 -080028
perkja3ede6c2016-03-08 01:27:48 +010029/** Initialize an RTCVideoSource from a native VideoTrackSourceInterface. */
Yura Yaroshevich01cee072018-07-11 15:35:40 +030030- (instancetype)initWithFactory:(RTCPeerConnectionFactory *)factory
31 nativeVideoSource:
32 (rtc::scoped_refptr<webrtc::VideoTrackSourceInterface>)nativeVideoSource
Jon Hjellef6c318e2016-01-11 14:39:01 -080033 NS_DESIGNATED_INITIALIZER;
34
Yura Yaroshevich01cee072018-07-11 15:35:40 +030035- (instancetype)initWithFactory:(RTCPeerConnectionFactory *)factory
36 nativeMediaSource:(rtc::scoped_refptr<webrtc::MediaSourceInterface>)nativeMediaSource
37 type:(RTCMediaSourceType)type NS_UNAVAILABLE;
Jon Hjellef6c318e2016-01-11 14:39:01 -080038
Yura Yaroshevich01cee072018-07-11 15:35:40 +030039- (instancetype)initWithFactory:(RTCPeerConnectionFactory *)factory
40 signalingThread:(rtc::Thread *)signalingThread
41 workerThread:(rtc::Thread *)workerThread;
Anders Carlsson9823ee42018-03-07 10:32:03 +010042
Jon Hjellef6c318e2016-01-11 14:39:01 -080043@end
44
45NS_ASSUME_NONNULL_END