Intel® Collaboration Suite for WebRTC  version 4.3.1
Open WebRTC Toolkit (OWT) Client SDK for iOS*
OWTConferenceSubscription.h
1 // Copyright (C) <2018> Intel Corporation
2 //
3 // SPDX-License-Identifier: Apache-2.0
4 #import <Foundation/Foundation.h>
5 #import <CoreGraphics/CoreGraphics.h>
6 #import <WebRTC/RTCMacros.h>
7 #import <OWT/OWTMediaFormat.h>
8 NS_ASSUME_NONNULL_BEGIN
9 @class RTCLegacyStatsReport;
12 RTC_OBJC_EXPORT
13 @protocol OWTConferenceSubscriptionDelegate <NSObject>
14 @optional
16 - (void)subscriptionDidEnd:(OWTConferenceSubscription*)subscription;
18 - (void)subscriptionDidMute:(OWTConferenceSubscription*)subscription
19  trackKind:(OWTTrackKind)kind;
21 - (void)subscriptionDidUnmute:(OWTConferenceSubscription*)subscription
22  trackKind:(OWTTrackKind)kind;
24 - (void)subscriptionDidError:(OWTConferenceSubscription*)subscription
25  errorInfo:(NSError*)error;
26 @end
27 RTC_OBJC_EXPORT
28 @interface OWTConferenceSubscription : NSObject
29 - (instancetype)init NS_UNAVAILABLE;
31 - (void)stop;
33 - (void)mute:(OWTTrackKind)trackKind
34  onSuccess:(nullable void (^)())onSuccess
35  onFailure:(nullable void (^)(NSError*))onFailure;
37 - (void)unmute:(OWTTrackKind)trackKind
38  onSuccess:(nullable void (^)())onSuccess
39  onFailure:(nullable void (^)(NSError*))onFailure;
41 - (void)statsWithOnSuccess:(void (^)(NSArray<RTCLegacyStatsReport*>*))onSuccess
42  onFailure:(nullable void (^)(NSError*))onFailure;
44 - (void)applyOptions:(OWTConferenceSubscriptionUpdateOptions*)options
45  onSuccess:(nullable void (^)())onSuccess
46  onFailure:(nullable void (^)(NSError*))onFailure;
47 @property(nonatomic, strong, readonly) NSString* subscriptionId;
48 @property(nonatomic, weak) id<OWTConferenceSubscriptionDelegate> delegate;
49 @end
50 
51 RTC_OBJC_EXPORT
54 @property(nonatomic, assign) BOOL disabled;
55 @property(nonatomic, strong) NSArray<OWTAudioCodecParameters*>* codecs;
56 @end
57 
58 RTC_OBJC_EXPORT
61 @property(nonatomic, assign) BOOL disabled;
62 @property(nonatomic, assign) CGSize resolution;
63 @property(nonatomic, assign) double frameRate;
64 @property(nonatomic, assign) double bitrateMultiplier;
65 @property(nonatomic, assign) NSUInteger keyFrameInterval;
66 @property(nonatomic, strong) NSArray<OWTVideoCodecParameters*>* codecs;
68 @property(nonatomic, strong) NSString* rid;
69 @end
70 
71 RTC_OBJC_EXPORT
72 @interface OWTConferenceSubscribeOptions : NSObject
73 - (instancetype)initWithAudio:(OWTConferenceAudioSubscriptionConstraints*)audio
75 @property(nonatomic, strong) OWTConferenceAudioSubscriptionConstraints* audio;
76 @property(nonatomic, strong) OWTConferenceVideoSubscriptionConstraints* video;
77 @end
78 RTC_OBJC_EXPORT
81 @property(nonatomic, assign) CGSize resolution;
82 @property(nonatomic, assign) double frameRate;
83 @property(nonatomic, assign) double bitrateMultiplier;
84 @property(nonatomic, assign) NSUInteger keyFrameInterval;
85 @end
86 RTC_OBJC_EXPORT
88 @property(nonatomic, strong)
90 @end
91 NS_ASSUME_NONNULL_END
Definition: OWTConferenceSubscription.h:72
Definition: OWTConferenceSubscription.h:87
void stop()
Stop certain subscription. Once a subscription is stopped, it cannot be recovered.
Constraints for subscribing a remote stream.
Definition: OWTConferenceSubscription.h:60
Definition: OWTConferenceSubscription.h:28
Constraints for updating a subscription.
Definition: OWTConferenceSubscription.h:80
Constraints for subscribing a remote stream.
Definition: OWTConferenceSubscription.h:53