luxlabs header browser preview


@class VCMediaStreamStats, AVCStatisticsCollector, NSObject;
@protocol OS_dispatch_queue, OS_dispatch_semaphore;

@interface VCVideoStreamTransmitter : VCVideoTransmitterBase {
    struct tagHANDLE { int x0; } *_videoRTP;
    NSObject<OS_dispatch_queue> *_transmitterQueue;
    struct tagVCRealTimeThread { unsigned int x0; unsigned int x1; struct _opaque_pthread_mutex_t { long long x0; char x1[56]; } x2; id x3; void /* function */ *x4; void *x5; struct OpaqueFigThread *x6; int x7; char x8[60]; unsigned int x9; unsigned int x10; } *_encoderThread;
    BOOL _terminateEncoderThread;
    NSObject<OS_dispatch_semaphore> *_bufferQueueSemaphore;
    struct opaqueCMBufferQueue { } *_bufferQueue;
    char *_buffer;
    unsigned long long _bufferSize;
    int _maxPacketCount;
    int *_packetSizes;
    int *_packetFlags;
    unsigned long long _lastKeyFrameSampleBufferSize;
    int _iSMBCount;
    unsigned int _keyFrameIntervalDuration;
    unsigned short _recommendedMTU;
    long long _videoCodecType;
    int _videoSource;
    unsigned int _dwRefreshFrameCounter;
    struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _xMBs;
    int _shouldGenerateKeyFrame;
    VCMediaStreamStats *_stats;
    double _reportingIntervalStartTime;
    double _reportingLastUpdateTime;
    unsigned char _lastCameraStatusBits;
    BOOL _enableCVO;
    unsigned long long _cvoExtensionID;
    struct opaqueRTCReporting { } *_reportingAgent;
    int _reportingModuleID;
    struct { struct *encoderVTable; int type; struct tagHANDLE *encoderHandle; } _encoder;
    struct tagVCMemoryPool { struct { void *x0; long long x1; } x0; unsigned long long x1; } *_encodingArgPool;
    BOOL _forceDisableBitrateCap;
    AVCStatisticsCollector *_statisticsCollector;
    unsigned int _totalPacketsSent;
    unsigned long long _totalBytesSent;
    unsigned int _tilesPerFrame;
    unsigned int _totalKeyFramesSent;
    struct __CFAllocator { } *_videoPacketAllocator;
}

- (id)initWithConfig:(id)a0;
- (void)dealloc;
- (void)setMediaSuggestion:(struct VCRateControlMediaSuggestion { BOOL x0; BOOL x1; BOOL x2; BOOL x3; BOOL x4; BOOL x5; BOOL x6; BOOL x7; } *)a0;
- (void)encodeVideoFrame:(struct opaqueCMSampleBuffer { } *)a0;
- (struct __CFDictionary { } *)forceKeyFrameProperties;
- (void)gatherRealtimeStats:(struct __CFDictionary { } *)a0;
- (void)generateKeyFrameWithFIRType:(int)a0;
- (void)handleActiveConnectionChange:(id)a0;
- (void)handleThermalLevelChange:(int)a0;
- (void)initVideoCompressionWithWidth:(unsigned int)a0 height:(unsigned int)a1 bitrate:(unsigned int)a2 keyFrameIntervalDuration:(unsigned int)a3;
- (BOOL)isKeyFrame:(struct opaqueCMSampleBuffer { } *)a0;
- (BOOL)prependSPSPPS:(unsigned long long *)a0 dataPointer:(char *)a1 sampleBuffer:(struct opaqueCMSampleBuffer { } *)a2;
- (void)reportingVideoStreamEvent:(unsigned short)a0;
- (BOOL)setEncodingMode:(int)a0;
- (void)setFECRedundancyVector:(const struct { unsigned short x0; struct { unsigned char x0; unsigned char x1; } x1[32]; } *)a0;
- (void)setKeyFrameOnlyStreamID:(unsigned short)a0;
- (void)setStreamIDs:(unsigned short *)a0 numOfStreamIDs:(unsigned char)a1 repairedStreamIDs:(unsigned short *)a2 numOfRepairedStreamIDs:(unsigned char)a3;
- (void)setTargetBitrate:(unsigned int)a0;
- (unsigned int)setTemporaryMaximumBitrate:(unsigned int)a0;
- (void)startVideo;
- (void)stopVideo;
- (void)transmitEncodedVideoFrame:(struct opaqueCMSampleBuffer { } *)a0 cameraStatusBits:(unsigned char)a1;
- (int)transmitEncodedVideoFrame:(char *)a0 size:(unsigned long long)a1 timestamp:(unsigned int)a2 hostTime:(double)a3 cameraStatusBits:(unsigned char)a4;
- (int)transmitFrameInGroups:(char *)a0 numOfPackets:(int)a1 timestamp:(unsigned int)a2 hostTime:(double)a3 cameraStatusBits:(unsigned char)a4;
- (int)transmitVideoPackets:(const char *)a0 packetSizes:(int *)a1 startPacket:(int)a2 packetCount:(int)a3 lastGroup:(int)a4 timestamp:(unsigned int)a5 hostTime:(double)a6 cameraStatusBits:(unsigned char)a7 bytesSent:(int *)a8;
- (void)updateSendStatisticsWithTimestamp:(unsigned int)a0 frameSize:(unsigned int)a1 packetsInFrame:(unsigned int)a2;
- (void)updateWindowState:(int)a0 isLocal:(BOOL)a1 windowRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2;

@end