diff options
author | Yoann Lopes <yoann.lopes@qt.io> | 2016-08-01 11:52:05 +0200 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@qt.io> | 2016-08-01 11:52:05 +0200 |
commit | 339944b284e9dd11302dd013f9d9a10ad0d9055a (patch) | |
tree | c2952d186b1dbc6f2380448fa2cfd9ec55043da6 /src/plugins/avfoundation/camera/avfmediaassetwriter.h | |
parent | 53d0a1e5454f4e5beecdea19acb9df11c87cc375 (diff) | |
parent | d7d31d63db5f0029a4a5e24d998601baee8bade0 (diff) |
Merge remote-tracking branch 'origin/5.6' into 5.7
Change-Id: Ic29cb09048003f18ff86d4546cd547be715eaec8
Diffstat (limited to 'src/plugins/avfoundation/camera/avfmediaassetwriter.h')
-rw-r--r-- | src/plugins/avfoundation/camera/avfmediaassetwriter.h | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/plugins/avfoundation/camera/avfmediaassetwriter.h b/src/plugins/avfoundation/camera/avfmediaassetwriter.h index fa1ec46a2..624906c85 100644 --- a/src/plugins/avfoundation/camera/avfmediaassetwriter.h +++ b/src/plugins/avfoundation/camera/avfmediaassetwriter.h @@ -44,7 +44,6 @@ #include <QtCore/qglobal.h> #include <QtCore/qatomic.h> -#include <QtCore/qmutex.h> #include <AVFoundation/AVFoundation.h> @@ -53,13 +52,10 @@ QT_BEGIN_NAMESPACE class AVFMediaRecorderControlIOS; class AVFCameraService; -typedef QAtomicInteger<bool> AVFAtomicBool; typedef QAtomicInteger<qint64> AVFAtomicInt64; QT_END_NAMESPACE -// TODO: any reasonable error handling requires smart pointers, otherwise it's getting crappy immediately. - @interface QT_MANGLE_NAMESPACE(AVFMediaAssetWriter) : NSObject<AVCaptureVideoDataOutputSampleBufferDelegate, AVCaptureAudioDataOutputSampleBufferDelegate> { @@ -72,22 +68,20 @@ QT_END_NAMESPACE QT_PREPEND_NAMESPACE(AVFScopedPointer)<AVAssetWriterInput> m_audioWriterInput; AVCaptureDevice *m_audioCaptureDevice; + // Queue to write sample buffers: + QT_PREPEND_NAMESPACE(AVFScopedPointer)<dispatch_queue_t> m_writerQueue; // High priority serial queue for video output: QT_PREPEND_NAMESPACE(AVFScopedPointer)<dispatch_queue_t> m_videoQueue; // Serial queue for audio output: QT_PREPEND_NAMESPACE(AVFScopedPointer)<dispatch_queue_t> m_audioQueue; - // Queue to write sample buffers: - QT_PREPEND_NAMESPACE(AVFScopedPointer)<dispatch_queue_t> m_writerQueue; QT_PREPEND_NAMESPACE(AVFScopedPointer)<AVAssetWriter> m_assetWriter; QT_PREPEND_NAMESPACE(AVFMediaRecorderControlIOS) *m_delegate; bool m_setStartTime; - QT_PREPEND_NAMESPACE(AVFAtomicBool) m_stopped; - QT_PREPEND_NAMESPACE(AVFAtomicBool) m_aborted; - QT_PREPEND_NAMESPACE(QMutex) m_writerMutex; + QT_PREPEND_NAMESPACE(QAtomicInt) m_state; @public QT_PREPEND_NAMESPACE(AVFAtomicInt64) m_durationInMs; @private @@ -98,8 +92,7 @@ QT_END_NAMESPACE NSDictionary *m_videoSettings; } -- (id)initWithQueue:(dispatch_queue_t)writerQueue - delegate:(QT_PREPEND_NAMESPACE(AVFMediaRecorderControlIOS) *)delegate; +- (id)initWithDelegate:(QT_PREPEND_NAMESPACE(AVFMediaRecorderControlIOS) *)delegate; - (bool)setupWithFileURL:(NSURL *)fileURL cameraService:(QT_PREPEND_NAMESPACE(AVFCameraService) *)service @@ -107,10 +100,10 @@ QT_END_NAMESPACE videoSettings:(NSDictionary *)videoSettings transform:(CGAffineTransform)transform; +// This to be called from the recorder control's thread: - (void)start; - (void)stop; -// This to be called if control's dtor gets called, -// on the control's thread. +// This to be called from the recorder control's dtor: - (void)abort; @end |