@class NSNumber, VCRedundancyControllerVideo; @interface VCVideoStreamReceiveGroup : VCMediaStreamReceiveGroup { _Atomic unsigned char _videoPriority; unsigned char _lastVideoPriority; BOOL _isVideoDegraded; double _isVideoDegradedStartTime; BOOL _haveReportedPerfTimers; BOOL _isProcessingVideoOptIn; NSNumber *_previousOptedInStreamID; VCRedundancyControllerVideo *_videoRedundancyController; BOOL _isRedundancyRequested; BOOL _isMediaSuspended; double _lastVideoExpectationSwitch; BOOL _isVideoExpected; BOOL _didReportExtendedPoorConnection; double _displayLatency; BOOL _shouldConvertSourceRTPTimestamp; unsigned long long _syncUpdateCalled; } @property (nonatomic) BOOL isRemoteMediaStalled; @property (nonatomic, getter=isRemoteVideoPaused) BOOL remoteVideoPaused; @property (nonatomic, getter=isRemoteVideoEnabled) BOOL remoteVideoEnabled; @property (nonatomic) unsigned char videoQuality; @property (nonatomic) unsigned int visibilityIndex; @property (readonly, nonatomic) unsigned int lastDisplayedFrameRTPTimestamp; - (id)initWithConfig:(id)a0; - (void)dealloc; - (BOOL)isVisible; - (void)setVideoDegraded:(BOOL)a0; - (void)didStart; - (BOOL)isVideoExpected; - (void)resetPerfTimers; - (void)checkForExtendedPoorConnection; - (void)collectAndLogChannelMetrics:(struct { unsigned int x0; unsigned int x1[5]; unsigned int x2; double x3; struct CGSize { double x0; double x1; } x4; double x5; unsigned int x6; double x7; unsigned int x8; unsigned int x9; } *)a0; - (void)mediaStream:(id)a0 didReceiveNewMediaKeyIndex:(id)a1; - (void)redundancyController:(id)a0 redundancyIntervalDidChange:(double)a1; - (void)redundancyController:(id)a0 redundancyPercentageDidChange:(unsigned int)a1; - (void)redundancyController:(id)a0 redundancyVectorDidChange:(struct { unsigned short x0; struct { unsigned char x0; unsigned char x1; } x1[32]; })a1; - (void)reportParticipantsPerfTimingsOnce; - (void)resetDidReceiveFirstFrame; - (void)setActiveStreamIDs:(id)a0; - (void)setMediaSuspended:(BOOL)a0 forStreamToken:(id)a1; - (void)setOptedInStreamID:(id)a0; - (void)setShouldEnableFaceZoom:(BOOL)a0; - (void)setShouldEnableMLEnhance:(BOOL)a0 streamID:(unsigned short)a1; - (BOOL)setSyncSource:(id)a0; - (void)setVideoStreamDelegate:(id)a0 delegateFunctions:(const struct tagVCVideoStreamDelegateRealtimeInstanceVTable { void /* function */ *x0; } *)a1; - (id)setupRedundancyController; - (void)setupVideoPriority; - (void)updateShouldEnableFaceZoom; - (void)updateVideoExpected; - (void)updateVideoPriority:(unsigned char)a0; - (void)vcMediaStream:(id)a0 didReceiveFirstFrameWithTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1; - (void)vcMediaStream:(id)a0 didSwitchFromStreamID:(unsigned short)a1 toStreamID:(unsigned short)a2; - (void)vcMediaStream:(id)a0 priorityDidChange:(unsigned char)a1; - (void)vcMediaStream:(id)a0 remoteMediaStalled:(BOOL)a1 duration:(double)a2; - (void)vcMediaStream:(id)a0 requestKeyFrameGenerationWithStreamID:(unsigned short)a1 firType:(int)a2; - (id)willStart; - (void)willStop; @end