Merge remote-tracking branch 'origin/5.4' into 5.5
Conflicts: .qmake.conf src/plugins/avfoundation/camera/avfcamerasession.h src/plugins/avfoundation/camera/avfcamerasession.mm Change-Id: Ib2e25d907a7069591920d2f69e007f314cc0fd85
This commit is contained in:
@@ -143,7 +143,6 @@ AVFCameraSession::AVFCameraSession(AVFCameraService *service, QObject *parent)
|
||||
, m_state(QCamera::UnloadedState)
|
||||
, m_active(false)
|
||||
, m_videoInput(nil)
|
||||
, m_audioInput(nil)
|
||||
, m_defaultCodec(0)
|
||||
{
|
||||
m_captureSession = [[AVCaptureSession alloc] init];
|
||||
@@ -160,11 +159,6 @@ AVFCameraSession::~AVFCameraSession()
|
||||
[m_videoInput release];
|
||||
}
|
||||
|
||||
if (m_audioInput) {
|
||||
[m_captureSession removeInput:m_audioInput];
|
||||
[m_audioInput release];
|
||||
}
|
||||
|
||||
[m_observer release];
|
||||
[m_captureSession release];
|
||||
}
|
||||
@@ -283,10 +277,9 @@ void AVFCameraSession::setState(QCamera::State newState)
|
||||
QCamera::State oldState = m_state;
|
||||
m_state = newState;
|
||||
|
||||
//attach audio and video inputs during Unloaded->Loaded transition
|
||||
if (oldState == QCamera::UnloadedState) {
|
||||
attachInputDevices();
|
||||
}
|
||||
//attach video input during Unloaded->Loaded transition
|
||||
if (oldState == QCamera::UnloadedState)
|
||||
attachVideoInputDevice();
|
||||
|
||||
if (m_state == QCamera::ActiveState) {
|
||||
Q_EMIT readyToConfigureConnections();
|
||||
@@ -332,7 +325,7 @@ void AVFCameraSession::processSessionStopped()
|
||||
}
|
||||
}
|
||||
|
||||
void AVFCameraSession::attachInputDevices()
|
||||
void AVFCameraSession::attachVideoInputDevice()
|
||||
{
|
||||
//Attach video input device:
|
||||
if (m_service->videoDeviceControl()->isDirty()) {
|
||||
@@ -360,29 +353,6 @@ void AVFCameraSession::attachInputDevices()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Attach audio input device:
|
||||
if (m_service->audioInputSelectorControl()->isDirty()) {
|
||||
if (m_audioInput) {
|
||||
[m_captureSession removeInput:m_audioInput];
|
||||
[m_audioInput release];
|
||||
m_audioInput = 0;
|
||||
}
|
||||
|
||||
AVCaptureDevice *audioDevice = m_service->audioInputSelectorControl()->createCaptureDevice();
|
||||
|
||||
NSError *error = nil;
|
||||
m_audioInput = [AVCaptureDeviceInput
|
||||
deviceInputWithDevice:audioDevice
|
||||
error:&error];
|
||||
|
||||
if (!m_audioInput) {
|
||||
qWarning() << "Failed to create audio device input";
|
||||
} else {
|
||||
[m_audioInput retain];
|
||||
[m_captureSession addInput:m_audioInput];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AVFCameraSession::applyImageEncoderSettings()
|
||||
|
||||
Reference in New Issue
Block a user