luxlabs header browser preview


@class NSObject, NSString, AVAssetWriterInput, NSURL, AVAssetWriterInputMetadataAdaptor, AVAssetWriter;
@protocol OS_dispatch_queue;

@interface VCMovieWriter : VCObject <VCMovieWriterProtocol> {
    NSString *_transactionID;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _lastVideoPresentationTime;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _lastLocalAudioPresentationTime;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _lastRemoteAudioPresentationTime;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _startTime;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _stillImageTime;
    AVAssetWriter *_assetWriter;
    AVAssetWriterInput *_videoInput;
    AVAssetWriterInput *_localAudioInput;
    AVAssetWriterInput *_remoteAudioInput;
    AVAssetWriterInput *_metadataInput;
    AVAssetWriterInputMetadataAdaptor *_adapter;
    BOOL _isEndRTPTimestampSet;
    BOOL _writingStarted;
    struct opaqueCMBufferQueue { } *_videoQueue;
    struct opaqueCMBufferQueue { } *_localAudioQueue;
    struct opaqueCMBufferQueue { } *_remoteAudioQueue;
    NSObject<OS_dispatch_queue> *_serializationQueue;
    id /* block */ _completionHandler;
    double _visibleWidth;
    double _visibleHeight;
    struct __CVPixelBufferPool { } *_bufferPool;
    struct OpaqueVTPixelTransferSession { } *_transferSession;
    unsigned int _codec;
    unsigned int _mediaState;
    BOOL _hasStillImageMetadataTrack;
    double _keyFrameIntervalDuration;
}

@property unsigned int startRTPTimeStamp;
@property unsigned int endRTPTimeStamp;
@property (readonly) unsigned char writerMode;
@property (retain, nonatomic) NSURL *outputURL;

- (void)dealloc;
- (void)setStillImageTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (id)addAudioTrackForLocalAudio:(BOOL)a0;
- (id)addStillImageMetadataTrackWithTransactionID:(id)a0;
- (id)addVideoTrackWithWidth:(int)a0 height:(int)a1;
- (void)appendAudioSampleBuffer:(struct opaqueCMSampleBuffer { } *)a0 mediaType:(unsigned char)a1;
- (void)appendMetaData;
- (void)appendVideoSampleBuffer:(struct opaqueCMSampleBuffer { } *)a0 cameraStatus:(unsigned char)a1 mediaType:(unsigned char)a2;
- (void)cleanupAssetWriter;
- (void)finishWritingWithHandler:(id /* block */)a0;
- (id)initWithOutputURL:(id)a0 transactionID:(id)a1 videoCodec:(unsigned int)a2 keyFrameIntervalDuration:(double)a3;
- (void)processSampleQueue:(struct opaqueCMBufferQueue { } *)a0 input:(id)a1 lastPresentationTime:(struct { long long x0; int x1; unsigned int x2; long long x3; } *)a2;
- (void)setEndRTPTimestampWithTimestamp:(unsigned int)a0;
- (id)setupAssetWriterWithWidth:(int)a0 height:(int)a1 transactionID:(id)a2;
- (id)setupAudioAssetWriterWithTransactionID:(id)a0;
- (void)setupInput:(id)a0 queue:(struct opaqueCMBufferQueue { } *)a1 dispatchGroup:(id)a2 lastPresentationTime:(struct { long long x0; int x1; unsigned int x2; long long x3; } *)a3;
- (void)setupInputs;
- (id)setupLivePhotoAssetWithTransactionID:(id)a0;
- (void)setupVisibleRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 withCaptureHeight:(int)a1;
- (void)setupWriterWithMode:(unsigned char)a0;
- (BOOL)shouldAppendSampleBuffer:(struct opaqueCMSampleBuffer { } *)a0 RTPtimeStamp:(unsigned int)a1 mediaType:(unsigned char)a2;
- (BOOL)shouldFinishWritingSampleBuffer:(struct opaqueCMSampleBuffer { } *)a0 RTPtimeStamp:(unsigned int)a1 mediaType:(unsigned char)a2;
- (void)startWritingAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;

@end