diff options
author | Liang Qi <liang.qi@qt.io> | 2016-08-02 10:23:28 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-08-02 10:23:28 +0200 |
commit | f979916804fdcea14e2a560336f31f4046fbe84a (patch) | |
tree | b5ff5737a4a9dd187c056b010e329ed1d601db0f /src/plugins/avfoundation/camera/avfmediaassetwriter.h | |
parent | 9bdc7c84eea0ff66c937d5f62ffed249321c3c35 (diff) | |
parent | 339944b284e9dd11302dd013f9d9a10ad0d9055a (diff) |
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
.qmake.conf
tests/auto/integration/qsoundeffect/BLACKLIST
Change-Id: Icd2edd4410a4ee914d489634d26b262c0c146bf4
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 |