summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2020-04-23 11:24:43 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2020-04-23 11:24:43 +0200
commite224c37d3494e9294c17223f58d71a33f20ec014 (patch)
tree0351c6a9d8a6165879a26f31936815c1d4d0be5b
parent5e9db9c117309e84adc5dba32f59a05760867558 (diff)
parentf3c9161147134bcc848f662947c5a59f3b48e94e (diff)
Merge 5.15 into 5.15.0
-rw-r--r--dist/changes-5.14.245
-rw-r--r--src/gsttools/qgstreamerplayercontrol.cpp6
-rw-r--r--src/gsttools/qgstvideorenderersink.cpp13
-rw-r--r--src/plugins/gstreamer/camerabin/camerabinimagecapture.cpp5
-rw-r--r--src/plugins/qnx-audio/audio/qnxaudioinput.cpp2
5 files changed, 64 insertions, 7 deletions
diff --git a/dist/changes-5.14.2 b/dist/changes-5.14.2
new file mode 100644
index 000000000..ad36891cf
--- /dev/null
+++ b/dist/changes-5.14.2
@@ -0,0 +1,45 @@
+Qt 5.14.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.14.0 through 5.14.1.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.14 series is binary compatible with the 5.13.x series.
+Applications compiled for 5.13 will continue to run with 5.14.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+- Android:
+ * [QTBUG-81006] Fixed issue when multimedia plugins were not loaded.
+ * [QTBUG-59517] Fixed to prevent multiple copies of one tmp file
+ when playing video from qrc.
+
+- GStreamer:
+ * [QTBUG-81075] Fixed creating incorrect encoding profile
+ to avoid errors when the media container is not supported
+ in the video recorder.
+ * Fixed to have separate resolution settings for capturing and
+ camera's viewfinder.
+
+- AVFoundation:
+ * [QTBUG-81048] Fixed applying viewfinder settings when starting the camera.
+ * [QTBUG-79935] Fixed applying viewfinder settings for iOS.
+ * [QTBUG-81804] Removed usage of deperecated AVPlayerItem::seekToTime::CMTime.
+ * [QTBUG-81912] Fixed to resume playback after a stalled buffer
+ only if it was already in playing state.
+ * [QTBUG-65536] Fixed to have proper size bounds when resizing the window
+ while playing video.
+ * [QTBUG-82542] Fixed content flickering on resize for video player.
+ * [QTBUG-82264] Fixed to use only video surface's supported pixel formats in Camera.
diff --git a/src/gsttools/qgstreamerplayercontrol.cpp b/src/gsttools/qgstreamerplayercontrol.cpp
index 165978288..d65102e2f 100644
--- a/src/gsttools/qgstreamerplayercontrol.cpp
+++ b/src/gsttools/qgstreamerplayercontrol.cpp
@@ -439,8 +439,10 @@ void QGstreamerPlayerControl::updateSessionState(QMediaPlayer::State state)
}
m_pendingSeekPosition = -1;
- if (m_currentState == QMediaPlayer::PlayingState)
- m_session->play();
+ if (m_currentState == QMediaPlayer::PlayingState) {
+ if (m_mediaStatus == QMediaPlayer::BufferedMedia)
+ m_session->play();
+ }
}
updateMediaStatus();
diff --git a/src/gsttools/qgstvideorenderersink.cpp b/src/gsttools/qgstvideorenderersink.cpp
index 9eb2531a1..4000f2178 100644
--- a/src/gsttools/qgstvideorenderersink.cpp
+++ b/src/gsttools/qgstvideorenderersink.cpp
@@ -141,6 +141,19 @@ bool QGstDefaultVideoRenderer::present(QAbstractVideoSurface *surface, GstBuffer
if (!videoBuffer)
videoBuffer = new QGstVideoBuffer(buffer, m_videoInfo);
+ auto meta = gst_buffer_get_video_crop_meta (buffer);
+ if (meta) {
+ QRect vp(meta->x, meta->y, meta->width, meta->height);
+ if (m_format.viewport() != vp) {
+#ifdef DEBUG_VIDEO_SURFACE_SINK
+ qDebug() << Q_FUNC_INFO << " Update viewport on Metadata: [" << meta->height << "x" << meta->width << " | " << meta->x << "x" << meta->y << "]";
+#endif
+ //Update viewport if data is not the same
+ m_format.setViewport(vp);
+ surface->start(m_format);
+ }
+ }
+
QVideoFrame frame(
videoBuffer,
m_format.frameSize(),
diff --git a/src/plugins/gstreamer/camerabin/camerabinimagecapture.cpp b/src/plugins/gstreamer/camerabin/camerabinimagecapture.cpp
index 52ec75f44..b164bc31a 100644
--- a/src/plugins/gstreamer/camerabin/camerabinimagecapture.cpp
+++ b/src/plugins/gstreamer/camerabin/camerabinimagecapture.cpp
@@ -366,12 +366,9 @@ bool CameraBinImageCapture::processBusMessage(const QGstreamerMessage &message)
#ifdef DEBUG_CAPTURE
qDebug() << Q_FUNC_INFO << "Dropped saving file" << fileName;
#endif
- //camerabin creates an empty file when captured buffer is dropped,
- //let's remove it
QFileInfo info(QString::fromUtf8(fileName));
- if (info.exists() && info.isFile() && info.size() == 0) {
+ if (info.exists() && info.isFile())
QFile(info.absoluteFilePath()).remove();
- }
}
}
}
diff --git a/src/plugins/qnx-audio/audio/qnxaudioinput.cpp b/src/plugins/qnx-audio/audio/qnxaudioinput.cpp
index 70b83390c..9fca8a7e1 100644
--- a/src/plugins/qnx-audio/audio/qnxaudioinput.cpp
+++ b/src/plugins/qnx-audio/audio/qnxaudioinput.cpp
@@ -331,7 +331,7 @@ bool QnxAudioInput::open()
m_pcmNotifier = new QSocketNotifier(snd_pcm_file_descriptor(m_pcmHandle, SND_PCM_CHANNEL_CAPTURE),
QSocketNotifier::Read, this);
- connect(m_pcmNotifier, SIGNAL(activated(int)), SLOT(userFeed()));
+ connect(m_pcmNotifier, SIGNAL(activated(QSocketDescriptor)), SLOT(userFeed()));
return true;
}