@class VCVideoStreamRateAdaptation, NSString, VideoAttributes, VCMediaStreamStats, NSObject; @protocol OS_dispatch_queue; @interface VCVideoStreamReceiver : VCVideoReceiverBase { struct tagHANDLE { int x0; } *_hRTP; struct OpaqueCMMemoryPool { } *_blockBufferMemoryPool; struct __CFAllocator { } *_blockBufferMemoryPoolAllocator; struct OpaqueVTDecompressionSession { } *_decompressionSession; struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _decompressionSessionMutex; BOOL _receivedFirstPacket; BOOL _receivedFirstRemoteFrame; unsigned short _lastSequenceNumber; int _sequenceNumberOutOfOrder; unsigned char _firSequenceNumber; double _lastFIRArrivalTime; VCVideoStreamRateAdaptation *_rateAdaptation; struct opaqueCMBufferQueue { } *_videoQueue; unsigned int _mostRecentTimestamp; unsigned int _lastVideoTimestamp; unsigned int _videoTimestampWrapCount; struct opaqueCMFormatDescription { } *_formatDescription; NSObject *_videoStreamReceiverQueue; struct OpaqueFigThread { } *_networkReceiveThread; BOOL _runNetworkReceiveThread; int _sRecvReset; struct VideoPacketBuffer_t { } *_videoPacketBuffer; VideoAttributes *_remoteVideoAttributes; int _remoteVideoCamera; BOOL _remoteVideoMirrored; BOOL _enableCVO; unsigned long long _cvoExtensionID; unsigned long long _lastKeyFrameSampleBufferSize; struct { long long value; int timescale; unsigned int flags; long long epoch; } _lastFrameTime; struct { long long value; int timescale; unsigned int flags; long long epoch; } _lastDisplayTime; VCMediaStreamStats *_stats; double _reportingIntervalStartTime; double _reportingLastUpdateTime; unsigned int _receivedBytes; unsigned int _videoStallDurationMillis; double _videoStallStartTime; struct opaqueRTCReporting { } *_reportingAgent; int _reportingModuleID; BOOL _enableReceiveBitstreamDump; struct OpaqueVCTransportStreamRunLoop { } *_runLoop; void *_rtcpContext; void /* function */ *_rtcpPacketsCallback; } @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (id)initWithConfig:(struct tagVCVideoStreamReceiverConfig { struct tagHANDLE *x0; id x1; struct tagVCVideoReceiverDelegateRealtimeInstanceVTable { void /* function */ *x0; void /* function */ *x1; } x2; struct opaqueRTCReporting *x3; unsigned int x4; int x5; id x6; BOOL x7; void *x8; void /* function */ *x9; id x10; } *)a0; - (void)dealloc; - (void)pauseVideo; - (void)setJitterBufferMode:(int)a0; - (id)syncSource; - (int)processVideoRTP; - (BOOL)canDequeue:(struct opaqueCMBufferQueue { } *)a0 forTimestamp:(unsigned int)a1; - (void)createDecodeSession:(struct opaqueCMFormatDescription { } *)a0; - (int)decodeFrame:(struct opaqueCMSampleBuffer { } *)a0 showFrame:(BOOL)a1; - (void)dequeueAndDecodeForTimestamp:(unsigned int)a0; - (void)gatherRealtimeStats:(struct __CFDictionary { } *)a0; - (void)handleActiveConnectionChange:(id)a0; - (void)handleAlarmForTimeStamp:(unsigned int)a0; - (BOOL)handleRemoteVideoAttributesChange:(struct __CVBuffer { } *)a0; - (void *)networkReceivePackets; - (struct tagVCVideoPacketBufferConfig { unsigned short x0; unsigned int x1; int x2; void *x3; char x4[200]; int x5; BOOL x6; BOOL x7; struct __CFAllocator *x8; BOOL x9; BOOL x10; BOOL x11; struct tagVCVideoPacketBufferFrameDecryptionCallbackContext { void *x0; void /* function */ *x1; } x12; struct tagVCVideoPacketBufferEnqueueFailedFrameToJitterBufferCallbackContext { void *x0; void /* function */ *x1; } x13; BOOL x14; struct tagVCNACKGenerator *x15; struct tagVCNACKGeneratorStoreBagsConfig { unsigned char x0; float x1; float x2; BOOL x3; float x4[4]; float x5[4]; } x16; })newVideoPacketBufferConfig:(struct _RTPMediaPacket { int x0; int x1; int x2; unsigned short x3; unsigned int x4; unsigned int x5; unsigned short x6; BOOL x7; double x8; BOOL x9; BOOL x10; BOOL x11; unsigned long long x12; unsigned short x13[12]; unsigned char x14; unsigned char x15; struct { int x0; int x1; BOOL x2; unsigned long long x3; } x16; unsigned long long x17; struct VCBlockBuffer_t { struct OpaqueCMBlockBuffer *x0; unsigned long long x1; char *x2; } x18; struct VCBlockBuffer_t { struct OpaqueCMBlockBuffer *x0; unsigned long long x1; char *x2; } x19; struct VCBlockBuffer_t { struct OpaqueCMBlockBuffer *x0; unsigned long long x1; char *x2; } x20; BOOL x21; BOOL x22; BOOL x23; unsigned char x24; } *)a0; - (void)processReceptionReportBlock:(struct tagRTCP_RRB { unsigned int x0; unsigned char x1 : 8; unsigned int x2 : 24; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; } *)a0 blockCount:(unsigned int)a1 arrivalNTPTime:(union tagNTP { unsigned long long x0; struct { unsigned int x0; unsigned int x1; } x1; })a2; - (int)processVideoRTCP; - (void)reportingVideoStreamEvent:(unsigned short)a0; - (void)rtcpSendIntervalElapsed; - (int)scheduleDecodeForFrameWithBuffer:(struct VCVideoReceiverSampleBuffer_t { struct __CFAllocator *x0; struct tagVCVideoDecodingArgs { int x0; int x1; unsigned int x2; unsigned short x3; unsigned char x4; BOOL x5; unsigned short x6; BOOL x7; double x8; int x9; unsigned short x10; BOOL x11; BOOL x12; unsigned short x13; double x14; BOOL x15; int x16; double x17; BOOL x18; BOOL x19; BOOL x20; BOOL x21; unsigned long long x22; BOOL x23; unsigned int x24; } x1; struct OpaqueCMBlockBuffer *x2; unsigned long long x3; struct OpaqueCMBlockBuffer *x4; struct VCBlockBuffer_t { struct OpaqueCMBlockBuffer *x0; unsigned long long x1; char *x2; } x5; struct VCBlockBuffer_t { struct OpaqueCMBlockBuffer *x0; unsigned long long x1; char *x2; } x6; struct VCBlockBuffer_t { struct OpaqueCMBlockBuffer *x0; unsigned long long x1; char *x2; } x7; struct VCBlockBuffer_t { struct OpaqueCMBlockBuffer *x0; unsigned long long x1; char *x2; } x8; int x9; } *)a0 timestamp:(unsigned int)a1 hostTime:(double)a2 showFrame:(BOOL)a3; - (void)scheduleDecodeForTimestamp:(unsigned int)a0; - (void)scheduleVideoDecode:(unsigned int)a0; - (void)setEnableCVO:(BOOL)a0 cvoExtensionID:(unsigned long long)a1; - (void)setEnableRateAdaptation:(BOOL)a0 maxBitrate:(unsigned int)a1 minBitrate:(unsigned int)a2 adaptationInterval:(double)a3; - (void)setSyncSource:(id)a0; - (int)showDecodedFrame:(struct __CVBuffer { } *)a0 atTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1; - (int)startNetworkReceiveThread; - (BOOL)startSynchronization:(id)a0; - (void)startVideo; - (int)stopNetworkReceiveThread; - (void)stopSynchronization; - (void)stopVideo; - (void)teardownDecodeSession:(BOOL)a0; - (void)updateSequenceNumber:(unsigned short)a0; - (void)updateSourcePlayoutTimestamp:(struct { long long x0; int x1; unsigned int x2; long long x3; } *)a0; - (void)updateVideoStallStatus:(BOOL)a0; @end