luxlabs header browser preview


@class VideoAttributes, NSString, VCMediaRecorderHistory, NSMutableSet, NSObject;
@protocol OS_dispatch_queue;

@interface VCMediaRecorder : VCObject <VCMediaRecorderProtocol> {
    id _delegate;
    id _transportDelegate;
    unsigned int _streamToken;
    VCMediaRecorderHistory *_mediaRecorderHistory;
    unsigned char _mode;
    NSObject<OS_dispatch_queue> *delegateNotificationQueue;
    int _currentActiveRequestsCount;
    BOOL _isClientRegistered;
    NSMutableSet *_requests;
    BOOL _lastRequest;
    unsigned int _currentTimestamp;
    double _lastHealthPrintCallAbsoluteSeconds;
    unsigned long long _localVideoCallbacksCount;
    unsigned long long _localVideoCallbacksClearedCount;
    unsigned long long _localAudioCallbacksCount;
    unsigned long long _localAudioCallbacksClearedCount;
    unsigned long long _remoteAudioCallbacksCount;
    unsigned long long _remoteAudioCallbacksClearedCount;
    unsigned long long _bufferResets;
}

@property (nonatomic) unsigned int capabilities;
@property (readonly, nonatomic) BOOL isActive;
@property (retain, nonatomic) VideoAttributes *targetScreenAttributes;
@property (nonatomic) int imageType;
@property (nonatomic) int videoCodec;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (int)typeForRequest:(id)a0;
+ (unsigned long long)countForRequestType:(int)a0;
+ (unsigned long long)deviceFreeDiskSpace;
+ (BOOL)deviceHasSufficientFreeSpace;
+ (id)stringFromMediaType:(unsigned char)a0;

- (void)dealloc;
- (void)invalidate;
- (void)setFrameRate:(float)a0;
- (void)processRequest:(id)a0;
- (unsigned long long)directorySize:(id)a0;
- (void)setTransportDelegate:(id)a0;
- (void)_generateRequest:(unsigned char)a0 requestState:(unsigned char)a1 transactionID:(id)a2 timestamp:(unsigned int)a3;
- (void)cleanupActiveRequests;
- (void)deregisterClient;
- (void)getInitialRemoteScreenAttributes:(id)a0;
- (void)handleInsufficientFreeSpaceWithRequest:(id)a0 delegate:(id)a1;
- (id)initWithStreamToken:(unsigned int)a0 delegate:(id)a1 reportingAgent:(struct opaqueRTCReporting { } *)a2;
- (BOOL)isHistorySupported;
- (id)mediaRecorderDelegate;
- (void)notifyFinishWithRequest:(id)a0 didSucceed:(BOOL)a1 fileSize:(long long)a2;
- (void)notifyLocalFinishWithRequest:(id)a0 didSucceed:(BOOL)a1;
- (void)notifyRemoteFinishWithRequest:(id)a0 didSucceed:(BOOL)a1 fileSize:(long long)a2;
- (BOOL)processClientRequest:(id)a0 error:(id *)a1;
- (void)processRemoteLivePhotoRequest:(id)a0;
- (void)processRemotePhotoRequest:(id)a0;
- (void)processRemoteRequest:(id)a0 withMediaType:(unsigned char)a1;
- (void)registerClient;
- (void)reportingMediaRecorderWithRequest:(id)a0 fileLength:(double)a1 fileSize:(unsigned long long)a2;
- (void)setMediaRecorderDelegate:(id)a0;
- (void)setUpReportingAgent;
- (id)transportDelegate;
- (void)updateActiveStatus;
- (BOOL)validateIncomingRequest:(id)a0;
- (void)validateNonzeroAudioRecordingLengthURL:(id)a0 error:(id *)a1;
- (BOOL)validateNumberOfRequestsWithError:(id *)a0;

@end