4#ifndef QAVFSAMPLEBUFFERDELEGATE_P_H
5#define QAVFSAMPLEBUFFERDELEGATE_P_H
18#import <AVFoundation/AVFoundation.h>
19#import <CoreVideo/CoreVideo.h>
21#include <QtCore/qtconfigmacros.h>
22#include <QtCore/qtypes.h>
24#include <QtMultimedia/private/qvideotransformation_p.h>
31class QAVSampleBufferDelegateFrameHandler;
42 const AVCaptureConnection *)>;
49@interface QAVFSampleBufferDelegate : NSObject <AVCaptureVideoDataOutputSampleBufferDelegate>
57- (instancetype)initWithFrameHandler:(std::function<
void(
const QVideoFrame &)>)handler;
61- (
void)discardFutureSamples;
65- (
void)setTransformationProvider:
66 (
const QT_PREPEND_NAMESPACE(QFFmpeg::QAVFSampleBufferDelegateTransformProvider) &)provider;
68- (
void)captureOutput:(AVCaptureOutput *)captureOutput
69 didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
70 fromConnection:(AVCaptureConnection *)connection;
72- (
void)setHWAccel:(std::unique_ptr<QT_PREPEND_NAMESPACE(QFFmpeg::HWAccel)> &&)accel;
74- (
void)setVideoFormatFrameRate:(qreal)frameRate;
std::function< QAVFSampleBufferDelegateTransform( const AVCaptureConnection *)> QAVFSampleBufferDelegateTransformProvider
std::conditional_t< QT_FFMPEG_AVIO_WRITE_CONST, const uint8_t *, uint8_t * > AvioWriteBufferType