From c012f0a727144714f9480e98938ca8eb2137c213 Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Tue, 3 Mar 2020 15:10:32 +0200 Subject: Add changes file for Qt 5.14.2 + 1cc4b7e28bf9f8f684bf17ed30a822aa6d1c6735 Doc: Explain that the camera consumes power in Camera.LoadedState + 8427c0be1c262293b27c8bca598108cfe882c84e Doc: Fix QCamera and Camera docs + d63921355aacf5cbd5189ffdbe4d23b9ff318bee Android: Fix loading multimedia plugins + 5e0c4d2fa253922a86378b150852a0ca8bdabc0d Android: JNI_OnLoad return JNI_VERSION_1_6 instead of JNI_VERSION_1_4 + 2d54cb4f460f2665da64e551927e6dbf153c68c1 GStreamer: Don't create encoding profile if container is not supported + 265bfb22e7f0f5333e584f6dd91926b8516e394e AVF: Always lock the capture device when start the camera + daac69f2f9e9ff9be06484dbdc10d139e83ab502 Bump version + 545d4aedc2af40182cd9141d014a02f919592cd9 AVF: Don't use deprecated AVPlayerItem::seekToTime::CMTime + e47ed7b88223c42dd20ef86b829061fcc4f1fc30 AVF: Only resume playback after a stalled buffer if really needed + cbdf4561f5cdb6ee95583f14a3769c3124228586 Android: Flush qrc to tmp file with original name + 7e64b859b6a663f42ee3067930ef132d9e7d2901 Fix false pulse audio dependency of libQt5MultimediaWidgets + aec140743b1a4110c327c46bdfbf15fcddb2dd17 AVF: Fix applying viewfinder settings for iOS + ad3d2afae99506a779ad758f4e7385c9f0b163ba AVF: Don't override AVPlayerLayer's bounds if already set + 19b111fa2f872e8c356ca130ce5a03ae52375934 Android: Fix invalid use of incomplete type 'QDir' + 12460a14bde44d1ff7bedd75bc87c7f22d096588 WMF: Fix memory leak in MFPlayerSession::getStreamType Change-Id: I287736bbe400983bad3966caab675a9386e075d8 Reviewed-by: Paul Wicking --- dist/changes-5.14.2 | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 dist/changes-5.14.2 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. -- cgit v1.2.3 From 19f6faf671438dc9c5165733a1b060fe2dfe1956 Mon Sep 17 00:00:00 2001 From: Stef Boerrigter Date: Mon, 16 Mar 2020 09:09:46 +0100 Subject: GSTVideoRender: Update viewport on gst video buffer crop metadata If the video buffer contains crop metadata update a viewport for the video frame format. Fixes: QTBUG-82448 Change-Id: Iace150c6c03b48662cc9f0112b45fbe6401d6061 Reviewed-by: VaL Doroshchuk --- src/gsttools/qgstvideorenderersink.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/gsttools/qgstvideorenderersink.cpp b/src/gsttools/qgstvideorenderersink.cpp index 3b458a978..13edcb820 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(), -- cgit v1.2.3 From af4db375440d3a0bff5e6ea479da6ff4b0a8da6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Tue, 24 Mar 2020 09:58:47 +0100 Subject: Update connect to QSocketNotifier::activated The int-overload will in some cases truncate the descriptor. So it's being replaced. Task-number: QTBUG-70441 Change-Id: Iffee2c8b544e6d329d02c0afea6aa9db9de38ea4 Reviewed-by: VaL Doroshchuk --- src/plugins/qnx-audio/audio/qnxaudioinput.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; } -- cgit v1.2.3 From b8525df9434d34f24c488848e320d1bc77de49cd Mon Sep 17 00:00:00 2001 From: VaL Doroshchuk Date: Thu, 2 Apr 2020 14:34:50 +0200 Subject: GStreamer: Remove file when CaptureToBuffer is used Capturing the image is handled by camerabin and it saves the image to a file. And we wanted to remove the file if capturing to buffer is requested, but the file is kept and not removed. Change-Id: I21404fc160bf275325deebf0f00b588de3493ee1 Fixes: QTBUG-82572 Reviewed-by: Andy Shaw --- src/plugins/gstreamer/camerabin/camerabinimagecapture.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) 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(); - } } } } -- cgit v1.2.3 From d8d072417b08dd75734b3f0aa86c3a49db934770 Mon Sep 17 00:00:00 2001 From: Roman Valov Date: Mon, 13 Apr 2020 12:54:09 +0000 Subject: Gstreamer: fix stream buffering Gstreamer client should handle GST_MESSAGE_BUFFERING to play and pause streams based on buffer-percent value and Qt does it properly. However `updateSessionState` of QGstreamerPlayerControl was implemented to go back into playing state each time session state becomes paused. That behavior resulted into choppy stream playback. Fix with condition to un-pause playback only if it's already buffered. Fixes: QTBUG-83417 Change-Id: Ida4a9e2e196de00050bdc64725fa818c7e939785 Reviewed-by: VaL Doroshchuk --- src/gsttools/qgstreamerplayercontrol.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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(); -- cgit v1.2.3