diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-06-13 10:39:22 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-06-13 10:39:22 +0100 |
commit | 9452a6e87b6c2c70513bc47a2470bf9f1168920e (patch) | |
tree | 8ac67e26b45f34d71c5aab3621813b100a0d5f00 /dev-qt/qtmultimedia/files/qtmultimedia-5.14.2-gstreamer-buffering.patch | |
parent | f516638b7fe9592837389826a6152a7e1b251c54 (diff) |
gentoo resync : 13.06.2020
Diffstat (limited to 'dev-qt/qtmultimedia/files/qtmultimedia-5.14.2-gstreamer-buffering.patch')
-rw-r--r-- | dev-qt/qtmultimedia/files/qtmultimedia-5.14.2-gstreamer-buffering.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/dev-qt/qtmultimedia/files/qtmultimedia-5.14.2-gstreamer-buffering.patch b/dev-qt/qtmultimedia/files/qtmultimedia-5.14.2-gstreamer-buffering.patch new file mode 100644 index 000000000000..5d17b079613d --- /dev/null +++ b/dev-qt/qtmultimedia/files/qtmultimedia-5.14.2-gstreamer-buffering.patch @@ -0,0 +1,38 @@ +From d8d072417b08dd75734b3f0aa86c3a49db934770 Mon Sep 17 00:00:00 2001 +From: Roman Valov <roman.valov@gmail.com> +Date: Mon, 13 Apr 2020 12:54:09 +0000 +Subject: [PATCH] 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 <valentyn.doroshchuk@qt.io> +--- + 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(); +-- +2.16.3 |