luxlabs header browser preview


@class VideoAttributes, VCVideoStreamRateAdaptationFeedbackOnly, VCDisplayLink, VCCannedVideoPacketSource, VCVideoHardwareDumpCollector;

@interface VCVideoReceiverDefault : VCVideoReceiverBase {
    struct tagHANDLE { int x0; } *_videoReceiverHandle;
    struct tagHANDLE { int x0; } *_videoTransmitterHandle;
    long long _streamToken;
    void *_controlInfoGenerator;
    double _lastKeyFrameRequestTime;
    unsigned short _lastKeyFrameRequestStreamID;
    VCVideoStreamRateAdaptationFeedbackOnly *_rateAdaptation;
    VCDisplayLink *_displayLink;
    BOOL _notifyDelegateVideoAttributeChanges;
    BOOL _lastLocalPortrait;
    BOOL _lastRemotePortrait;
    struct CGSize { double width; double height; } _remoteScreenPortraitAspectRatio;
    struct CGSize { double width; double height; } _remoteScreenLandscapeAspectRatio;
    struct CGSize { double width; double height; } _remoteExpectedPortraitAspectRatio;
    struct CGSize { double width; double height; } _remoteExpectedLandscapeAspectRatio;
    BOOL _remoteSupportsExpectedAspectRatio;
    BOOL _canLocalResizePIP;
    BOOL _canRemoteResizePIP;
    unsigned long long _cvoExtensionID;
    BOOL _forceZeroRegionOfInterestOrigin;
    BOOL _pendingVideoAttributesUpdateOnModeChange;
    VCVideoHardwareDumpCollector *_validationContext;
    VCCannedVideoPacketSource *_cannedPacketSource;
}

@property struct tagVCVideoReceiverConfig { unsigned int streamCount; struct tagVCVideoReceiverStreamConfig { struct tagVCVideoReceiverStreamIDInfo { unsigned short streamID; unsigned short repairStreamID; unsigned short baseStreamID; unsigned int subStreamCount; unsigned short subStreamIDs[9]; unsigned short subStreamRepairIDs[9]; } streamInfo; struct tagHANDLE *rtpHandle; struct __CFDictionary *featureListStrings; BOOL onDemandIDR; unsigned short framerate; unsigned char tileIndex; BOOL isOneToOne; BOOL isTemporalScalingEnabled; struct tagVCCryptor *sframeCryptor; void *mediaControlInfoGenerator; void *statisticsCollector; int mode; BOOL isLTRPEnabled; BOOL isRTCPForLossFeedbackEnabled; BOOL isRTCPForLTRPAckEnabled; int ltrAckRTCPPacketType; BOOL shouldEnableMLEnhance; } streamConfigs[9]; int mode; int jitterBufferMode; long long streamToken; int audioTSRate; int videoTSRate; int enableVPBLogging; unsigned int dumpID; int enableControlByte; int enableBitstreamCapture; int enableRxDecodeYUVDump; int enableUEP; int enableRecvBitstreamDump; int reportingParentID; BOOL shouldEnableFaceZoom; BOOL useDisplayLink; BOOL enableDeferredAssembly; double deferredAssemblyOffset; void *callbackContext; void /* function */ *remoteFrameCallback; void /* function */ *sampleBufferCallback; void /* function */ *streamSwitchCallback; void /* function */ *keyFrameGenerationCallback; void /* function */ *sendLTRAckCallback; void /* function */ *ackLTRFrameCallback; void /* function */ *modeSwitchCallback; unsigned long long idsParticipantID; BOOL triggerSoundAlarmOnRTPReceive; unsigned short decoderNumOfTiles; BOOL useInternalRTPThreading; struct tagWRMMetricsInfo *wrmInfo; unsigned int maxDisplayRefreshRate; BOOL enableJitterBufferInReceiver; BOOL enableJitterBufferInPlayer; BOOL enableImmediateDecode; BOOL isLTRPEnabled; BOOL isAsyncDecodingEnabled; BOOL isReceiverSideVCRCFeedbackEnabled; BOOL isVCRCStatsOnlyVideoBased; BOOL fecHeaderV1Enabled; BOOL enableQueueAlarmForDisplay; BOOL useRTCPForFIR; BOOL sendRTCP_PSFB_FIR; BOOL enableJBDynamicModeSwitch; BOOL useInternalClockForPresentation; void *mediaControlInfoGenerator; BOOL isVariableSliceModeEnabled; BOOL streamSwitchEnabled; unsigned int cvoExtensionID; BOOL videoJBEnabled; BOOL enableAVLooseSync; unsigned short targetDisplayAlarmCount; struct tagVCJBTargetEstimatorSynchronizer *jbTargetEstimatorSynchronizer; struct __CFString *participantId; struct __CFString *sessionId; unsigned int streamGroupID; BOOL isReferenceFrameEnabled; BOOL isLateFrameRecoveryEnabled; BOOL enableHighWatermarkQueueDiscard; int externalPresentationClockType; BOOL isServerPacketRetransmissionEnabled; BOOL isRTTBasedFIRThrottlingEnabled; struct tagVCNACKGeneratorStoreBagsConfig { unsigned char nackGeneratorStorebagConfigVersion; float nackSeqNumAgingDuration; float nackThrottlingBitRateLimitingMaxRatio; BOOL isExtraDelayForPacketRetransmissionsEnabled; float nackThrottlingFactorBuckets[4]; float nackThrottlingPlrBuckets[4]; } nackGeneratorStoreBagsConfig; BOOL forceZeroRegionOfInterestOrigin; void *cannedReplayContext; void *rateAdaptation; long long overlayToken; double minPlaybackInterval; } videoReceiverConfig;
@property BOOL receivedFirstRemoteFrame;
@property (retain) VideoAttributes *remoteVideoAttributes;
@property (nonatomic) int mode;
@property (nonatomic) BOOL shouldUpdateRemoteScreenAttributes;
@property (nonatomic) BOOL shouldEnableFaceZoom;

- (void)setFeedbackDelegate:(id)a0;
- (void)dealloc;
- (double)roundTripTime;
- (void)pauseVideo;
- (void)setJitterBufferMode:(int)a0;
- (void)collectChannelMetrics:(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 interval:(float)a1;
- (double)lastReceivedVideoRTCPPacketTime;
- (void)cleanUpDisplayLink;
- (void)didSwitchFromStreamID:(unsigned short)a0 toStreamID:(unsigned short)a1;
- (void)handleActiveConnectionChange:(id)a0;
- (void)handleKeyFrameRequestWithSizeAndFistMBs:(unsigned short *)a0 count:(int)a1 didReceiveRTCPFB:(BOOL)a2 didReceiveFIR:(BOOL)a3;
- (void)handleRequestingKeyFrameGenerationWithStreamID:(unsigned short)a0 firType:(int)a1;
- (id)initWithConfig:(struct tagVCVideoReceiverConfig { unsigned int x0; struct tagVCVideoReceiverStreamConfig { struct tagVCVideoReceiverStreamIDInfo { unsigned short x0; unsigned short x1; unsigned short x2; unsigned int x3; unsigned short x4[9]; unsigned short x5[9]; } x0; struct tagHANDLE *x1; struct __CFDictionary *x2; BOOL x3; unsigned short x4; unsigned char x5; BOOL x6; BOOL x7; struct tagVCCryptor *x8; void *x9; void *x10; int x11; BOOL x12; BOOL x13; BOOL x14; int x15; BOOL x16; } x1[9]; int x2; int x3; long long x4; int x5; int x6; int x7; unsigned int x8; int x9; int x10; int x11; int x12; int x13; int x14; BOOL x15; BOOL x16; BOOL x17; double x18; void *x19; void /* function */ *x20; void /* function */ *x21; void /* function */ *x22; void /* function */ *x23; void /* function */ *x24; void /* function */ *x25; void /* function */ *x26; unsigned long long x27; BOOL x28; unsigned short x29; BOOL x30; struct tagWRMMetricsInfo *x31; unsigned int x32; BOOL x33; BOOL x34; BOOL x35; BOOL x36; BOOL x37; BOOL x38; BOOL x39; BOOL x40; BOOL x41; BOOL x42; BOOL x43; BOOL x44; BOOL x45; void *x46; BOOL x47; BOOL x48; unsigned int x49; BOOL x50; BOOL x51; unsigned short x52; struct tagVCJBTargetEstimatorSynchronizer *x53; struct __CFString *x54; struct __CFString *x55; unsigned int x56; BOOL x57; BOOL x58; BOOL x59; int x60; BOOL x61; BOOL x62; struct tagVCNACKGeneratorStoreBagsConfig { unsigned char x0; float x1; float x2; BOOL x3; float x4[4]; float x5[4]; } x63; BOOL x64; void *x65; void *x66; long long x67; double x68; } *)a0 delegate:(id)a1 delegateFunctions:(const struct tagVCVideoReceiverDelegateRealtimeInstanceVTable { void /* function */ *x0; void /* function */ *x1; } *)a2 reportingAgent:(struct opaqueRTCReporting { } *)a3 statisticsCollector:(id)a4 transmitterHandle:(struct tagHANDLE { int x0; } *)a5;
- (BOOL)initializeDisplayLink;
- (unsigned int)lastDisplayedFrameRTPTimestamp;
- (float)lastLastVideoStallDuration;
- (double)lastReceivedVideoRTPPacketTime;
- (int)oneToOneStreamIndex;
- (void)rtcpSendIntervalElapsed;
- (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)setShouldEnableMLEnhance:(BOOL)a0 streamID:(unsigned short)a1;
- (void)setSynchronizer:(id)a0;
- (void)setTargetStreamID:(unsigned short)a0;
- (void)setUpCannedInjector:(struct tagVCVideoReceiverConfig { unsigned int x0; struct tagVCVideoReceiverStreamConfig { struct tagVCVideoReceiverStreamIDInfo { unsigned short x0; unsigned short x1; unsigned short x2; unsigned int x3; unsigned short x4[9]; unsigned short x5[9]; } x0; struct tagHANDLE *x1; struct __CFDictionary *x2; BOOL x3; unsigned short x4; unsigned char x5; BOOL x6; BOOL x7; struct tagVCCryptor *x8; void *x9; void *x10; int x11; BOOL x12; BOOL x13; BOOL x14; int x15; BOOL x16; } x1[9]; int x2; int x3; long long x4; int x5; int x6; int x7; unsigned int x8; int x9; int x10; int x11; int x12; int x13; int x14; BOOL x15; BOOL x16; BOOL x17; double x18; void *x19; void /* function */ *x20; void /* function */ *x21; void /* function */ *x22; void /* function */ *x23; void /* function */ *x24; void /* function */ *x25; void /* function */ *x26; unsigned long long x27; BOOL x28; unsigned short x29; BOOL x30; struct tagWRMMetricsInfo *x31; unsigned int x32; BOOL x33; BOOL x34; BOOL x35; BOOL x36; BOOL x37; BOOL x38; BOOL x39; BOOL x40; BOOL x41; BOOL x42; BOOL x43; BOOL x44; BOOL x45; void *x46; BOOL x47; BOOL x48; unsigned int x49; BOOL x50; BOOL x51; unsigned short x52; struct tagVCJBTargetEstimatorSynchronizer *x53; struct __CFString *x54; struct __CFString *x55; unsigned int x56; BOOL x57; BOOL x58; BOOL x59; int x60; BOOL x61; BOOL x62; struct tagVCNACKGeneratorStoreBagsConfig { unsigned char x0; float x1; float x2; BOOL x3; float x4[4]; float x5[4]; } x63; BOOL x64; void *x65; void *x66; long long x67; double x68; } *)a0;
- (void)setUpRemoteAspectRatios;
- (void)setUpRemoteAspectRatiosForPayload:(int)a0;
- (void)setUpRemoteAspectRatiosFromFreatureListString:(const char *)a0;
- (void)startVideo;
- (void)stopVideo;
- (void)updateSourcePlayoutTimestamp:(struct { long long x0; int x1; unsigned int x2; long long x3; } *)a0;

@end