From f252ad92526c73c4df05798a4ab699853908edc2 Mon Sep 17 00:00:00 2001 From: VaL Doroshchuk Date: Tue, 7 May 2019 14:40:51 +0200 Subject: AVFoundation: Fix sending proper state in QMediaRecorder Need to send the state if it has been applied. Currently it happens when Recording is requested. If Stopped is requested, the state will be changed in handleRecordingFinished callback. Change-Id: I6911f2cebb2d1cc8a08eee17e7b91654b5d6e4c7 Fixes: QTBUG-75287 Reviewed-by: Andy Shaw --- src/plugins/avfoundation/camera/avfmediarecordercontrol.mm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/plugins/avfoundation/camera/avfmediarecordercontrol.mm b/src/plugins/avfoundation/camera/avfmediarecordercontrol.mm index 546eabf89..a67918bbc 100644 --- a/src/plugins/avfoundation/camera/avfmediarecordercontrol.mm +++ b/src/plugins/avfoundation/camera/avfmediarecordercontrol.mm @@ -294,6 +294,8 @@ void AVFMediaRecorderControl::setState(QMediaRecorder::State state) m_recordingFinished = false; Q_EMIT actualLocationChanged(actualLocation); + updateStatus(); + Q_EMIT stateChanged(m_state); } else { Q_EMIT error(QMediaRecorder::FormatError, tr("Recorder not configured")); } @@ -312,10 +314,6 @@ void AVFMediaRecorderControl::setState(QMediaRecorder::State state) unapplySettings(); } } - - updateStatus(); - if (state != m_state) - Q_EMIT stateChanged(m_state); } void AVFMediaRecorderControl::setMuted(bool muted) -- cgit v1.2.3 From edbc8cb39130410801bffefb59d5c3a3c383e84b Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Tue, 4 Jun 2019 14:12:50 +0200 Subject: Doc: Use correct property name for videoRecorder Fixes: QTBUG-75623 Change-Id: I9a072d1d3056f58657b8b44e9350ae3506139117 Reviewed-by: VaL Doroshchuk --- src/imports/multimedia/qdeclarativecamera.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp index e9c708a21..c499de3b6 100644 --- a/src/imports/multimedia/qdeclarativecamera.cpp +++ b/src/imports/multimedia/qdeclarativecamera.cpp @@ -138,7 +138,7 @@ void QDeclarativeCamera::_q_availabilityChanged(QMultimedia::AvailabilityStatus \header \li Property \li Description \row \li \l {CameraCapture} {imageCapture} \li Methods and properties for capturing still images. - \row \li \l {CameraRecorder} {videoRecording} + \row \li \l {CameraRecorder} {videoRecorder} \li Methods and properties for capturing movies. \row \li \l {CameraExposure} {exposure} \li Methods and properties for adjusting exposure (aperture, shutter speed etc). -- cgit v1.2.3 From 8933a59719a5f0c33d47f202d220a566765ec6d4 Mon Sep 17 00:00:00 2001 From: VaL Doroshchuk Date: Fri, 7 Jun 2019 10:48:44 +0200 Subject: GStreamer: Return busy cameras in QCameraInfo::availableCameras If the camera has been already opened, ioctl returns EBUSY, and this camera is not listed in available cameras. Change-Id: I1ee6e067a3d080fe82a528f576ba13e03d5f816e Fixes: QTBUG-76236 Reviewed-by: Andy Shaw --- src/gsttools/qgstutils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gsttools/qgstutils.cpp b/src/gsttools/qgstutils.cpp index 58dd6e5fe..2cc7663b8 100644 --- a/src/gsttools/qgstutils.cpp +++ b/src/gsttools/qgstutils.cpp @@ -649,7 +649,7 @@ QVector QGstUtils::enumerateCameras(GstElementFactory *fa for (; ::ioctl(fd, VIDIOC_ENUMINPUT, &input) >= 0; ++input.index) { if (input.type == V4L2_INPUT_TYPE_CAMERA || input.type == 0) { const int ret = ::ioctl(fd, VIDIOC_S_INPUT, &input.index); - isCamera = (ret == 0 || errno == ENOTTY); + isCamera = (ret == 0 || errno == ENOTTY || errno == EBUSY); break; } } -- cgit v1.2.3