luxlabs header browser preview


@class VCVideoStreamRateAdaptation, NSString, VideoAttributes, VCMediaStreamStats, NSObject;
@protocol OS_dispatch_queue;

@interface VCVideoStreamReceiver : VCVideoReceiverBase <VCMediaStreamSyncDestination> {
    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<OS_dispatch_queue> *_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