Hello community, here is the log from the commit of package QMPlay2 for openSUSE:Factory checked in at 2017-10-10 11:43:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/QMPlay2 (Old) and /work/SRC/openSUSE:Factory/.QMPlay2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "QMPlay2" Tue Oct 10 11:43:02 2017 rev:27 rq:532900 version:17.10.04 Changes: -------- --- /work/SRC/openSUSE:Factory/QMPlay2/QMPlay2.changes 2017-09-21 12:36:11.359915644 +0200 +++ /work/SRC/openSUSE:Factory/.QMPlay2.new/QMPlay2.changes 2017-10-10 11:43:08.483064573 +0200 @@ -1,0 +2,8 @@ +Mon Oct 9 18:21:25 UTC 2017 - [email protected] + +- Update to 17.10.04 + * Command line seeking bugfix + * update for Wbijam changes, + * CUVID bugfix + +------------------------------------------------------------------- Old: ---- QMPlay2-src-17.09.16.tar.xz New: ---- QMPlay2-src-17.10.04.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ QMPlay2.spec ++++++ --- /var/tmp/diff_new_pack.MqAv2V/_old 2017-10-10 11:43:10.142991719 +0200 +++ /var/tmp/diff_new_pack.MqAv2V/_new 2017-10-10 11:43:10.146991544 +0200 @@ -17,7 +17,7 @@ Name: QMPlay2 -Version: 17.09.16 +Version: 17.10.04 Release: 0 Summary: A Qt based media player, streamer and downloader License: LGPL-3.0+ ++++++ QMPlay2-src-17.09.16.tar.xz -> QMPlay2-src-17.10.04.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.09.16/ChangeLog new/QMPlay2-src-17.10.04/ChangeLog --- old/QMPlay2-src-17.09.16/ChangeLog 2017-09-16 12:41:39.000000000 +0200 +++ new/QMPlay2-src-17.10.04/ChangeLog 2017-10-04 22:27:13.000000000 +0200 @@ -1,3 +1,8 @@ +Changes in QMPlay2 build 17.10.04: + - command line seeking bugfix, + - update for Wbijam changes, + - CUVID bugfix, + Changes in QMPlay2 build 17.09.16: - fix playback position regression introduced in 17.09.13, - update German translation (martinkg), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.09.16/README.md new/QMPlay2-src-17.10.04/README.md --- old/QMPlay2-src-17.09.16/README.md 2017-09-16 12:41:25.000000000 +0200 +++ new/QMPlay2-src-17.10.04/README.md 2017-10-04 22:27:21.000000000 +0200 @@ -306,7 +306,7 @@ - `Qt5Widgets_DIR`: path to the Qt5Widgets cmake directory (e.g. `~/qtbase/lib/cmake/Qt5Widgets`). - `Qt5DBus_DIR`: path to the Qt5DBus cmake directory (e.g. `~/qtbase/lib/cmake/Qt5DBus`). - `Qt5LinguistTools_DIR`: path to the Qt5LinguistTools cmake directory (e.g. `~/qtbase/lib/cmake/Qt5LinguistTools`). - - `Qt5Svg_DIR`: path to the Qt5LinguistTools cmake directory (e.g. `~/qtbase/lib/cmake/Qt5Svg`). + - `Qt5Svg_DIR`: path to the Qt5Svg cmake directory (e.g. `~/qtbase/lib/cmake/Qt5Svg`). Every CMake option must be prepended with `-D` and new value is set after `=`. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.09.16/src/gui/MainWidget.cpp new/QMPlay2-src-17.10.04/src/gui/MainWidget.cpp --- old/QMPlay2-src-17.09.16/src/gui/MainWidget.cpp 2017-09-16 12:34:31.000000000 +0200 +++ new/QMPlay2-src-17.10.04/src/gui/MainWidget.cpp 2017-10-04 22:27:21.000000000 +0200 @@ -523,7 +523,7 @@ else if (param == "speed") playC.setSpeed(data.toDouble()); else if (param == "seek") - seek(data.toInt()); + seek(data.toDouble()); else if (param == "RestartPlaying") playC.restart(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.09.16/src/modules/CUVID/CuvidDec.cpp new/QMPlay2-src-17.10.04/src/modules/CUVID/CuvidDec.cpp --- old/QMPlay2-src-17.09.16/src/modules/CUVID/CuvidDec.cpp 2017-09-16 00:19:27.000000000 +0200 +++ new/QMPlay2-src-17.10.04/src/modules/CUVID/CuvidDec.cpp 2017-10-04 20:49:43.000000000 +0200 @@ -34,7 +34,7 @@ #define GL_TEXTURE_2D 0x0DE1 #endif -static QMutex cudaMutex(QMutex::Recursive); +static QMutex g_cudaMutex(QMutex::Recursive); extern "C" { @@ -157,7 +157,7 @@ inline ContextGuard(CUcontext ctx) : m_locked(true) { - cudaMutex.lock(); + g_cudaMutex.lock(); ctxPushCurrent(ctx); } inline ~ContextGuard() @@ -171,7 +171,7 @@ { CUcontext ctx; ctxPopCurrent(&ctx); - cudaMutex.unlock(); + g_cudaMutex.unlock(); m_locked = false; } } @@ -283,17 +283,17 @@ bool lock() override { - cudaMutex.lock(); + g_cudaMutex.lock(); if (cu::ctxPushCurrent(m_cuCtx) == CUDA_SUCCESS) return true; - cudaMutex.unlock(); + g_cudaMutex.unlock(); return false; } void unlock() override { CUcontext cuCtx; cu::ctxPopCurrent(&cuCtx); - cudaMutex.unlock(); + g_cudaMutex.unlock(); } bool init(quint32 *textures) override @@ -320,7 +320,7 @@ CopyResult copyFrame(const VideoFrame &videoFrame, Field field) override { - if (!m_cuvidDec) + if (!m_cuvidDec || !m_validSurfaces.contains(videoFrame.surfaceId)) return CopyNotReady; CUVIDPROCPARAMS vidProcParams; @@ -446,10 +446,18 @@ return m_cuCtx; } - inline void setDecoderAndCodedHeight(CUvideodecoder cuvidDec, int codedHeight) + inline void setAvailableSurface(quintptr surfaceId) + { + m_validSurfaces.insert(surfaceId); + } + + void setDecoderAndCodedHeight(CUvideodecoder cuvidDec, int codedHeight) { m_codedHeight = codedHeight; + m_lastId = 0; + m_tff = false; m_cuvidDec = cuvidDec; + m_validSurfaces.clear(); } private: @@ -464,6 +472,8 @@ CUvideodecoder m_cuvidDec; CUgraphicsResource m_res[2]; + + QSet<quintptr> m_validSurfaces; }; /**/ @@ -643,7 +653,7 @@ cu::ContextGuard cuCtxGuard(m_cuCtx); CUVIDSOURCEDATAPACKET cuvidPkt; - m_skipFrames = (hurry_up > 1); + m_skipFrames = (m_cuvidParserParams.CodecType != cudaVideoCodec_VP9 && hurry_up > 1); if (flush || m_forceFlush) { @@ -738,7 +748,11 @@ { const VideoFrameSize frameSize(m_width, m_height); if (m_cuvidHWAccel) - decoded = VideoFrame(frameSize, (quintptr)(dispInfo.picture_index + 1), (bool)!dispInfo.progressive_frame, (bool)dispInfo.top_field_first); + { + const quintptr surfaceId = dispInfo.picture_index + 1; + m_cuvidHWAccel->setAvailableSurface(surfaceId); + decoded = VideoFrame(frameSize, surfaceId, (bool)!dispInfo.progressive_frame, (bool)dispInfo.top_field_first); + } else { CUdeviceptr mappedFrame = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.09.16/src/modules/Extensions/MediaBrowser/Wbijam.cpp new/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/Wbijam.cpp --- old/QMPlay2-src-17.09.16/src/modules/Extensions/MediaBrowser/Wbijam.cpp 2017-09-16 12:34:31.000000000 +0200 +++ new/QMPlay2-src-17.10.04/src/modules/Extensions/MediaBrowser/Wbijam.cpp 2017-10-04 22:27:21.000000000 +0200 @@ -424,12 +424,19 @@ QRegExp videoRx("<iframe.+src=\"(.*)\""); videoRx.setMinimal(true); - if (videoRx.indexIn(replyData) != -1) + int pos = 0; + while ((pos = videoRx.indexIn(replyData, pos)) != -1) { - animeUrl = videoRx.cap(1); - if (animeUrl.startsWith("//")) - animeUrl.prepend("http:"); - ok = true; + QString url = videoRx.cap(1); + if (url.startsWith("//")) + url.prepend("http:"); + if (!url.contains("facebook.com/")) + { + animeUrl = url; + ok = true; + break; + } + pos += videoRx.matchedLength(); } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.09.16/src/qmplay2/Version.cpp new/QMPlay2-src-17.10.04/src/qmplay2/Version.cpp --- old/QMPlay2-src-17.09.16/src/qmplay2/Version.cpp 2017-09-16 12:41:39.000000000 +0200 +++ new/QMPlay2-src-17.10.04/src/qmplay2/Version.cpp 2017-10-04 22:27:13.000000000 +0200 @@ -25,7 +25,7 @@ #ifndef QMPlay2GitHEAD #define QMPlay2GitHEAD #endif -#define QMPlay2Version "17.09.16" QMPlay2GitHEAD +#define QMPlay2Version "17.10.04" QMPlay2GitHEAD QByteArray Version::get() {
