luxlabs header browser preview


@class AVCStatisticsCollector, VCRateControlServerBag, SenderLargeFrameInfo;

@interface VCRateControlMediaController : NSObject {
    id _mediaControllerDelegate;
    unsigned int _audioSendingBitrate;
    unsigned int _minTargetBitrate;
    BOOL _isVideoStoppedByBaseband;
    BOOL _isVideoPausedByUser;
    BOOL _isBasebandFlushing;
    BOOL _isAudioStall;
    double _lastAudioFractionChangeTime;
    double _lastAudioEnoughRateTime;
    unsigned char _videoPayloadType;
    unsigned int _videoRefreshFrameTimestamp;
    unsigned int _videoRefreshFramePacketCount;
    double _lastVideoKeyFrameTime;
    SenderLargeFrameInfo *_senderLargeFrameInfo;
    unsigned int _probingLargeFrameSizeCap;
    BOOL _shouldDisableLargeFrameRequestsWhenInitialRampUp;
    BOOL _isRateLimitedMaxTimeExceeded;
    double _minProbingSpacingAggressive;
    double _lastBasebandFlushAudioTime;
    double _lastBasebandFlushVideoTime;
    unsigned short _videoFlushTransactionID;
    unsigned int _audioStallBitrate;
    double _lastAudioStallFlushTime;
    unsigned int _basebandAverageBitrate;
    unsigned int _basebandAverageBitrateShort;
    unsigned int _basebandTotalQueueDepth;
    unsigned int _basebandFlushableQueueDepth;
    double _basebandExpectedQueuingDelay;
    double _basebandNBDCD;
    double _lastBasebandHighNBDCDTime;
    BOOL _isBasebandQueuingDelayHigh;
    void *_logBasebandDump;
    void *_logBWEDump;
    BOOL _fromSmartBrake;
}

@property (retain, nonatomic) AVCStatisticsCollector *statisticsCollector;
@property (nonatomic) unsigned int videoSendingBitrate;
@property (readonly, nonatomic) unsigned int targetBitrate;
@property (nonatomic) int basebandFlushCount;
@property (nonatomic) double lastBasebandFlushCountChangeTime;
@property (readonly, nonatomic) int basebandFlushedVideoCount;
@property (readonly, nonatomic) int basebandFlushedAudioCount;
@property (readonly, nonatomic) BOOL isVideoStoppedByVCRateControl;
@property (readonly, nonatomic) BOOL isInThrottlingMode;
@property (nonatomic) BOOL allowVideoStop;
@property (nonatomic) BOOL isSenderProbingEnabled;
@property (nonatomic) BOOL isAudioOnly;
@property (readonly, nonatomic) unsigned int probingLargeFrameSize;
@property (readonly, nonatomic) unsigned int probingSequencePacketCount;
@property (readonly, nonatomic) unsigned int probingSequencePacketSize;
@property (nonatomic) unsigned int afrcRemoteEstimatedBandwidth;
@property (nonatomic) BOOL isRTPFlushBasebandFromVCRateControl;
@property (readonly, nonatomic) int audioFractionTier;
@property (readonly, nonatomic) double lastVideoRefreshFrameTime;
@property (nonatomic) BOOL enableAggressiveProbingSequence;
@property (retain, nonatomic) VCRateControlServerBag *serverBag;
@property (nonatomic) struct tagVCMediaQueue { } *vcMediaQueue;
@property (nonatomic) struct tagHANDLE { int x0; } *mediaQueue;
@property (nonatomic) BOOL isRemoteAudioPaused;

- (void)dealloc;
- (void)decreaseFlushCount:(int)a0;
- (BOOL)didMediaGetFlushedWithPayloadType:(unsigned char)a0 transactionID:(unsigned short)a1 packetDropped:(unsigned short)a2 sequenceNumberArray:(unsigned short *)a3;
- (void)enableBasebandLogDump:(void *)a0;
- (BOOL)increaseFlushCountForAudioStall:(int)a0 audioStallBitrate:(unsigned int)a1;
- (BOOL)increaseFlushCountForVideoRefresh:(int)a0 transactionID:(unsigned short)a1;
- (id)initWithMediaQueue:(struct tagHANDLE { int x0; } *)a0 delegate:(id)a1;
- (BOOL)isProbingLargeFrameRequiredAtTime:(double)a0;
- (void)pauseVideoByUser:(BOOL)a0;
- (void)printLargeFrameStatsAtTime:(double)a0 timestamp:(unsigned int)a1 timeSinceLastProbingSequence:(double)a2 frameSize:(unsigned int)a3 wastedBytes:(unsigned int)a4 fecRatio:(double)a5 isFrameRequested:(BOOL)a6;
- (BOOL)rampUpAudioFraction;
- (void)recordVideoRefreshFrameWithTimestamp:(unsigned int)a0 payloadType:(unsigned char)a1 packetCount:(unsigned int)a2 isKeyFrame:(BOOL)a3;
- (void)scheduleProbingSequenceAtTime:(double)a0;
- (void)scheduleProbingSequenceWithFrameSize:(unsigned int)a0 paddingBytes:(unsigned int)a1 timestamp:(unsigned int)a2 fecRatio:(double)a3 isProbingSequenceScheduled:(BOOL *)a4;
- (void)setTargetBitrate:(unsigned int)a0;
- (void)updateLargeFrameSizeWithBandwidth:(unsigned int)a0;
- (void)updateProbingLargeFrameSizeCap;

@end