@class NSObject, AVAssetReader, AVAssetReaderSampleReferenceOutput; @protocol OS_dispatch_queue, OS_dispatch_group, OS_dispatch_semaphore; @interface VCPVideoTrackSyncDecoder : VCPVideoTrackDecoder { AVAssetReader *_assetReader; AVAssetReaderSampleReferenceOutput *_trackReader; struct { struct { long long value; int timescale; unsigned int flags; long long epoch; } start; struct { long long value; int timescale; unsigned int flags; long long epoch; } duration; } _timerange; BOOL _launchOnce; NSObject<OS_dispatch_queue> *_queue; NSObject<OS_dispatch_group> *_group; NSObject<OS_dispatch_semaphore> *_inputSemaphore; NSObject<OS_dispatch_semaphore> *_outputSemaphore; BOOL _cancelDecode; int _decodeError; BOOL _decodeFinished; int _decodedFrames; int _outputFrameIdx; struct opaqueCMSampleBuffer *_sampleBuffer[2]; } - (void)dealloc; - (long long)status; - (void).cxx_destruct; - (struct opaqueCMSampleBuffer { } *)copyNextSampleBuffer; - (int)decodeSample:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 sample:(struct opaqueCMSampleBuffer **)a1; - (void)decodeTask; - (int)findNextSample:(BOOL)a0 timerange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; } *)a1; - (id)initWithTrack:(id)a0 timerange:(const struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; } *)a1; @end