Hello community, here is the log from the commit of package QMPlay2 for openSUSE:Factory checked in at 2016-01-01 19:48:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/QMPlay2 (Old) and /work/SRC/openSUSE:Factory/.QMPlay2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "QMPlay2" Changes: -------- --- /work/SRC/openSUSE:Factory/QMPlay2/QMPlay2.changes 2015-12-21 12:07:26.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.QMPlay2.new/QMPlay2.changes 2016-01-01 19:51:04.000000000 +0100 @@ -1,0 +2,16 @@ +Mon Dec 28 19:28:38 UTC 2015 - [email protected] + +- Update to 15.12.25: + * KF5 Breeze style fixes in full screen; + * OpenGL 2 bugfix. +- New requirements recommended by upstream. +- Removed QMPlay2-Qt51.diff. + +------------------------------------------------------------------- +Tue Dec 22 18:30:12 UTC 2015 - [email protected] + +- Added QMPlay2-Qt51.diff to fix openSUSE 13.1' default Qt 5.1 + build issue. +- Fixed translations absence. + +------------------------------------------------------------------- Old: ---- QMPlay2-src-15.12.06.tar.xz New: ---- QMPlay2-src-15.12.25.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ QMPlay2.spec ++++++ --- /var/tmp/diff_new_pack.1MWu0j/_old 2016-01-01 19:51:05.000000000 +0100 +++ /var/tmp/diff_new_pack.1MWu0j/_new 2016-01-01 19:51:05.000000000 +0100 @@ -17,7 +17,7 @@ Name: QMPlay2 -Version: 15.12.06 +Version: 15.12.25 Release: 0 Summary: A Qt based media player, streamer and downloader License: LGPL-3.0+ @@ -26,6 +26,9 @@ Source: http://kent.dl.sourceforge.net/project/zaps166/QMPlay2/QMPlay2-src-%{version}.tar.xz BuildRequires: libXv-devel +%if 0%{?suse_version} > 1310 +BuildRequires: libqt5-linguist +%endif BuildRequires: portaudio-devel BuildRequires: pkgconfig(Qt5DBus) BuildRequires: pkgconfig(Qt5Network) @@ -39,7 +42,9 @@ BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libcddb) BuildRequires: pkgconfig(libcdio) +BuildRequires: pkgconfig(libgme) BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libsidplayfp) BuildRequires: pkgconfig(libswresample) BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(libva) ++++++ QMPlay2-src-15.12.06.tar.xz -> QMPlay2-src-15.12.25.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-15.12.06/ChangeLog new/QMPlay2-src-15.12.25/ChangeLog --- old/QMPlay2-src-15.12.06/ChangeLog 2015-12-06 20:42:38.000000000 +0100 +++ new/QMPlay2-src-15.12.25/ChangeLog 2015-12-25 22:11:25.000000000 +0100 @@ -1,3 +1,8 @@ +Changes in QMPlay2 build 15.12.25: + - KF5 Breeze style fixes in full screen, + - Qt5 <= 5.2 compilation fixes, + - OpenGL 2 bugfix, + Changes in QMPlay2 build 15.12.06: - support for HEVC, VP8 and VP9 decoding in VA-API (depending on FFmpeg version), - setting priorities of decoders and A/V outputs is now more convenient, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-15.12.06/README.md new/QMPlay2-src-15.12.25/README.md --- old/QMPlay2-src-15.12.06/README.md 2015-12-05 22:57:36.000000000 +0100 +++ new/QMPlay2-src-15.12.25/README.md 2015-12-06 23:46:39.000000000 +0100 @@ -1,4 +1,4 @@ -#QMPlay2 - QT Media Player 2 +#QMPlay2 - Qt Media Player 2 >QMPlay2 is a video and audio player. It can play all formats supported by >FFmpeg, libmodplug (including J2B and SFX). It also supports Audio CD, raw >files, Rayman 2 music and chiptunes. It contains YouTube and Prostopleer >browser. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/gui/Main.cpp new/QMPlay2-src-15.12.25/src/gui/Main.cpp --- old/QMPlay2-src-15.12.06/src/gui/Main.cpp 2015-12-04 02:16:58.000000000 +0100 +++ new/QMPlay2-src-15.12.25/src/gui/Main.cpp 2015-12-25 18:33:56.000000000 +0100 @@ -55,7 +55,7 @@ defaultModules << "OpenGL 2" << "DirectDraw"; #elif defined Q_OS_ANDROID if ( type == "videoWriters" ) - defaultModules << "QPainter"; + defaultModules << "QPainter" << "OpenGL 2"; #endif QStringList availableModules; const QString moduleType = type.mid( 0, typeLen ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/gui/VideoDock.cpp new/QMPlay2-src-15.12.25/src/gui/VideoDock.cpp --- old/QMPlay2-src-15.12.06/src/gui/VideoDock.cpp 2015-12-03 01:20:08.000000000 +0100 +++ new/QMPlay2-src-15.12.25/src/gui/VideoDock.cpp 2015-12-25 22:10:31.000000000 +0100 @@ -7,6 +7,7 @@ #include <Functions.hpp> #include <SubsDec.hpp> +#include <QApplication> #include <QMouseEvent> #include <QFileInfo> #include <QMimeData> @@ -60,6 +61,9 @@ connect( &iDW, SIGNAL( resized( int, int ) ), this, SLOT( resizedIDW( int, int ) ) ); connect( this, SIGNAL( visibilityChanged( bool ) ), this, SLOT( visibilityChanged( bool ) ) ); connect( &QMPlay2Core, SIGNAL( dockVideo( QWidget * ) ), &iDW, SLOT( setWidget( QWidget * ) ) ); + + if ( ( isBreeze = qApp->style()->objectName() == "breeze" ) ) + setStyle( &commonStyle ); } void VideoDock::fullScreen( bool b ) @@ -72,7 +76,8 @@ setFeatures( DockWidget::NoDockWidgetFeatures ); setFloating( false ); - setStyle( &commonStyle ); + if ( !isBreeze ) + setStyle( &commonStyle ); } else { @@ -91,7 +96,8 @@ setFeatures( DockWidget::AllDockWidgetFeatures ); setFloating( is_floating ); - setStyle( NULL ); + if ( !isBreeze ) + setStyle( NULL ); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/gui/VideoDock.hpp new/QMPlay2-src-15.12.25/src/gui/VideoDock.hpp --- old/QMPlay2-src-15.12.06/src/gui/VideoDock.hpp 2015-10-17 20:25:48.000000000 +0200 +++ new/QMPlay2-src-15.12.25/src/gui/VideoDock.hpp 2015-12-25 22:10:23.000000000 +0100 @@ -47,7 +47,7 @@ QMenu *popupMenu; QCommonStyle commonStyle; int pixels; - bool canPopup, is_floating; + bool canPopup, is_floating, isBreeze; double touchZoom; private slots: void popup( const QPoint & ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/gui/VideoThr.cpp new/QMPlay2-src-15.12.25/src/gui/VideoThr.cpp --- old/QMPlay2-src-15.12.06/src/gui/VideoThr.cpp 2015-11-29 15:58:40.000000000 +0100 +++ new/QMPlay2-src-15.12.25/src/gui/VideoThr.cpp 2015-12-23 01:05:53.000000000 +0100 @@ -476,6 +476,9 @@ } #if defined(Q_WS_X11) || defined(X11_EXTRAS) + #ifdef X11_EXTRAS + #include <QGuiApplication> + #endif #include <QX11Info> #include <X11/Xlib.h> #endif @@ -483,7 +486,7 @@ void VideoThr::write_slot( const QByteArray &frame ) { #ifdef X11_EXTRAS - if ( QX11Info::isPlatformX11() ) + if ( QGuiApplication::platformName() == "xcb" ) #endif #if defined(Q_WS_X11) || defined(X11_EXTRAS) XResetScreenSaver( QX11Info::display() ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/modules/OpenGL2/OpenGL2Writer.cpp new/QMPlay2-src-15.12.25/src/modules/OpenGL2/OpenGL2Writer.cpp --- old/QMPlay2-src-15.12.06/src/modules/OpenGL2/OpenGL2Writer.cpp 2015-12-02 21:30:24.000000000 +0100 +++ new/QMPlay2-src-15.12.25/src/modules/OpenGL2/OpenGL2Writer.cpp 2015-12-25 19:36:48.000000000 +0100 @@ -3,12 +3,10 @@ #include <QMPlay2_OSD.hpp> #include <Functions.hpp> -#ifndef USE_NEW_OPENGL_API - #include <QGLShaderProgram> -#else - #include <QOpenGLShaderProgram> +#ifdef USE_NEW_OPENGL_API #include <QOpenGLContext> #endif + #include <QPainter> #if !defined OPENGL_ES2 && !defined Q_OS_MAC @@ -131,12 +129,13 @@ Drawable::Drawable( OpenGL2Writer &writer ) : #endif isOK( true ), paused( false ), - shaderProgramYCbCr( NULL ), shaderProgramOSD( NULL ), #ifndef OPENGL_ES2 + supportsShaders( false ), canCreateNonPowerOfTwoTextures( false ), glActiveTexture( NULL ), #endif writer( writer ), - hasImage( false ) + hasImage( false ), + texCoordYCbCrLoc( -1 ), positionYCbCrLoc( -1 ), texCoordOSDLoc( -1 ), positionOSDLoc( -1 ) { grabGesture( Qt::PinchGesture ); setMouseTracking( true ); @@ -160,15 +159,41 @@ } #ifndef USE_NEW_OPENGL_API -bool Drawable::init() +bool Drawable::testGL() { makeCurrent(); if ( ( isOK = isValid() ) ) - glInit(); + { +#ifndef OPENGL_ES2 + initGLProc(); + if ( !canCreateNonPowerOfTwoTextures || !supportsShaders || !glActiveTexture ) + { + showOpenGLMissingFeaturesMessage(); + isOK = false; + } + /* Reset variables */ + supportsShaders = canCreateNonPowerOfTwoTextures = false; + glActiveTexture = NULL; +#endif + } doneCurrent(); return isOK; } #endif + +#ifndef OPENGL_ES2 +void Drawable::initGLProc() +{ + const char *glExtensions = ( const char * )glGetString( GL_EXTENSIONS ); + if ( glExtensions ) + { + supportsShaders = !!strstr( glExtensions, "GL_ARB_vertex_shader" ) && !!strstr( glExtensions, "GL_ARB_fragment_shader" ) && !!strstr( glExtensions, "GL_ARB_shader_objects" ); + canCreateNonPowerOfTwoTextures = !!strstr( glExtensions, "GL_ARB_texture_non_power_of_two" ); + } + glActiveTexture = ( GLActiveTexture )context()->getProcAddress( "glActiveTexture" ); +} +#endif + void Drawable::clr() { hasImage = false; @@ -199,6 +224,23 @@ } #endif +#ifndef OPENGL_ES2 +void Drawable::showOpenGLMissingFeaturesMessage() +{ + fprintf + ( + stderr, + "GL_ARB_texture_non_power_of_two : %s\n" + "Vertex & fragment shader: %s\n" + "glActiveTexture: %s\n", + canCreateNonPowerOfTwoTextures ? "yes" : "no", + supportsShaders ? "yes" : "no", + glActiveTexture ? "yes" : "no" + ); + QMPlay2Core.logError( "OpenGL 2 :: " + tr( "Sterownik musi obsługiwać multiteksturowanie, shadery oraz tekstury o dowolnym rozmiarze" ), true, true ); +} +#endif + void Drawable::initializeGL() { int glMajor = 0, glMinor = 0; @@ -223,65 +265,39 @@ glVer = "2"; #ifndef OPENGL_ES2 - bool supportsShaders = false, canCreateNonPowerOfTwoTextures = false; - const char *glExtensions = ( const char * )glGetString( GL_EXTENSIONS ); - if ( glExtensions ) + initGLProc(); +#ifndef USE_NEW_OPENGL_API + if ( !glActiveTexture ) //Be sure that "glActiveTexture" has valid pointer (don't check "supportsShaders" here)! +#else + if ( !glActiveTexture || !canCreateNonPowerOfTwoTextures || !supportsShaders ) //"testGL()" doesn't work with "USE_NEW_OPENGL_API", so check features here! +#endif { - supportsShaders = !!strstr( glExtensions, "GL_ARB_vertex_shader" ) && !!strstr( glExtensions, "GL_ARB_fragment_shader" ) && !!strstr( glExtensions, "GL_ARB_shader_objects" ); - canCreateNonPowerOfTwoTextures = !!strstr( glExtensions, "GL_ARB_texture_non_power_of_two" ); - } - glActiveTexture = ( GLActiveTexture )context()->getProcAddress( "glActiveTexture" ); - - if - ( - !canCreateNonPowerOfTwoTextures || - !supportsShaders || - !glActiveTexture - ) - { - /* - * If shader programs are already exists, new context was created without shaders support... - * So the GPU/driver supports this feature and this is workaround for this strange behaviour. - */ - if ( shaderProgramYCbCr && shaderProgramOSD && !supportsShaders ) - fprintf( stderr, "Shaders are already created and now they are not supported... Initialization is ignored.\n" ); - else - { - fprintf - ( - stderr, - "GL_ARB_texture_non_power_of_two : %s\n" - "Vertex & fragment shader: %s\n" - "glActiveTexture: %s\n", - canCreateNonPowerOfTwoTextures ? "yes" : "no", - supportsShaders ? "yes" : "no", - glActiveTexture ? "yes" : "no" - ); - QMPlay2Core.logError( "OpenGL 2 :: " + tr( "Sterownik musi obsługiwać multiteksturowanie, shadery oraz tekstury o dowolnym rozmiarze" ), true, true ); - isOK = false; - } + showOpenGLMissingFeaturesMessage(); + isOK = false; return; } #endif - delete shaderProgramYCbCr; - delete shaderProgramOSD; - shaderProgramYCbCr = new QGLShaderProgram( this ); - shaderProgramOSD = new QGLShaderProgram( this ); - - /* YCbCr shader, use hue only when OpenGL/OpenGL|ES version >= 3.0, because it can be slow on old hardware and/or buggy drivers and may increase CPU usage! */ - shaderProgramYCbCr->addShaderFromSourceCode( QGLShader::Vertex, QString( vShaderYCbCrSrc ).arg( precisionStr ) ); - shaderProgramYCbCr->addShaderFromSourceCode( QGLShader::Fragment, QString( fShaderYCbCrSrc ).arg( precisionStr ).arg( (glMajor * 10 + glMinor >= 30) ? fShaderYCbCrHueSrc : "" ) ); - if ( shaderProgramYCbCr->bind() ) - { - texCoordYCbCrLoc = shaderProgramYCbCr->attributeLocation( "aTexCoord" ); - positionYCbCrLoc = shaderProgramYCbCr->attributeLocation( "vPosition" ); - - shaderProgramYCbCr->setUniformValue( "Ytex", 0 ); - shaderProgramYCbCr->setUniformValue( "Utex", 1 ); - shaderProgramYCbCr->setUniformValue( "Vtex", 2 ); - - shaderProgramYCbCr->release(); + /* YCbCr shader */ + if ( shaderProgramYCbCr.shaders().isEmpty() ) + { + shaderProgramYCbCr.addShaderFromSourceCode( QGLShader::Vertex, QString( vShaderYCbCrSrc ).arg( precisionStr ) ); + /* Use hue only when OpenGL/OpenGL|ES version >= 3.0, because it can be slow on old hardware and/or buggy drivers and may increase CPU usage! */ + shaderProgramYCbCr.addShaderFromSourceCode( QGLShader::Fragment, QString( fShaderYCbCrSrc ).arg( precisionStr ).arg( (glMajor * 10 + glMinor >= 30) ? fShaderYCbCrHueSrc : "" ) ); + } + if ( shaderProgramYCbCr.bind() ) + { + const qint32 newTexCoordLoc = shaderProgramYCbCr.attributeLocation( "aTexCoord" ); + const qint32 newPositionLoc = shaderProgramYCbCr.attributeLocation( "vPosition" ); + if ( newTexCoordLoc != newPositionLoc ) //If new locations are invalid, just leave them untouched... + { + texCoordYCbCrLoc = newTexCoordLoc; + positionYCbCrLoc = newPositionLoc; + } + shaderProgramYCbCr.setUniformValue( "Ytex", 0 ); + shaderProgramYCbCr.setUniformValue( "Utex", 1 ); + shaderProgramYCbCr.setUniformValue( "Vtex", 2 ); + shaderProgramYCbCr.release(); } else { @@ -291,16 +307,22 @@ } /* OSD shader */ - shaderProgramOSD->addShaderFromSourceCode( QGLShader::Vertex, QString( vShaderOSDSrc ).arg( precisionStr ) ); - shaderProgramOSD->addShaderFromSourceCode( QGLShader::Fragment, QString( fShaderOSDSrc ).arg( precisionStr ) ); - if ( shaderProgramOSD->bind() ) + if ( shaderProgramOSD.shaders().isEmpty() ) { - texCoordOSDLoc = shaderProgramOSD->attributeLocation( "aTexCoord" ); - positionOSDLoc = shaderProgramOSD->attributeLocation( "vPosition" ); - - shaderProgramOSD->setUniformValue( "tex", 3 ); - - shaderProgramOSD->release(); + shaderProgramOSD.addShaderFromSourceCode( QGLShader::Vertex, QString( vShaderOSDSrc ).arg( precisionStr ) ); + shaderProgramOSD.addShaderFromSourceCode( QGLShader::Fragment, QString( fShaderOSDSrc ).arg( precisionStr ) ); + } + if ( shaderProgramOSD.bind() ) + { + const qint32 newTexCoordLoc = shaderProgramYCbCr.attributeLocation( "aTexCoord" ); + const qint32 newPositionLoc = shaderProgramYCbCr.attributeLocation( "vPosition" ); + if ( newTexCoordLoc != newPositionLoc ) //If new locations are invalid, just leave them untouched... + { + texCoordOSDLoc = newTexCoordLoc; + positionOSDLoc = newPositionLoc; + } + shaderProgramOSD.setUniformValue( "tex", 3 ); + shaderProgramOSD.release(); } else { @@ -414,23 +436,23 @@ hasImage = true; } - shaderProgramYCbCr->setAttributeArray( positionYCbCrLoc, verticesYCbCr[ writer.flip ], 2 ); - shaderProgramYCbCr->setAttributeArray( texCoordYCbCrLoc, texCoordYCbCr, 2 ); - shaderProgramYCbCr->enableAttributeArray( positionYCbCrLoc ); - shaderProgramYCbCr->enableAttributeArray( texCoordYCbCrLoc ); + shaderProgramYCbCr.setAttributeArray( positionYCbCrLoc, verticesYCbCr[ writer.flip ], 2 ); + shaderProgramYCbCr.setAttributeArray( texCoordYCbCrLoc, texCoordYCbCr, 2 ); + shaderProgramYCbCr.enableAttributeArray( positionYCbCrLoc ); + shaderProgramYCbCr.enableAttributeArray( texCoordYCbCrLoc ); - shaderProgramYCbCr->bind(); + shaderProgramYCbCr.bind(); if ( doReset ) { - shaderProgramYCbCr->setUniformValue( "scale", W / ( float )width(), H / ( float )height() ); - shaderProgramYCbCr->setUniformValue( "videoEq", Brightness, Contrast, Saturation, Hue ); + shaderProgramYCbCr.setUniformValue( "scale", W / ( float )width(), H / ( float )height() ); + shaderProgramYCbCr.setUniformValue( "videoEq", Brightness, Contrast, Saturation, Hue ); doReset = !resetDone; } glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 ); - shaderProgramYCbCr->release(); + shaderProgramYCbCr.release(); - shaderProgramYCbCr->disableAttributeArray( texCoordYCbCrLoc ); - shaderProgramYCbCr->disableAttributeArray( positionYCbCrLoc ); + shaderProgramYCbCr.disableAttributeArray( texCoordYCbCrLoc ); + shaderProgramYCbCr.disableAttributeArray( positionYCbCrLoc ); glActiveTexture( GL_TEXTURE3 ); @@ -467,19 +489,19 @@ right - 1.0f, -top + 1.0f, }; - shaderProgramOSD->setAttributeArray( positionOSDLoc, verticesOSD, 2 ); - shaderProgramOSD->setAttributeArray( texCoordOSDLoc, texCoordOSD, 2 ); - shaderProgramOSD->enableAttributeArray( positionOSDLoc ); - shaderProgramOSD->enableAttributeArray( texCoordOSDLoc ); + shaderProgramOSD.setAttributeArray( positionOSDLoc, verticesOSD, 2 ); + shaderProgramOSD.setAttributeArray( texCoordOSDLoc, texCoordOSD, 2 ); + shaderProgramOSD.enableAttributeArray( positionOSDLoc ); + shaderProgramOSD.enableAttributeArray( texCoordOSDLoc ); glEnable( GL_BLEND ); - shaderProgramOSD->bind(); + shaderProgramOSD.bind(); glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 ); - shaderProgramOSD->release(); + shaderProgramOSD.release(); glDisable( GL_BLEND ); - shaderProgramOSD->disableAttributeArray( texCoordOSDLoc ); - shaderProgramOSD->disableAttributeArray( positionOSDLoc ); + shaderProgramOSD.disableAttributeArray( texCoordOSDLoc ); + shaderProgramOSD.disableAttributeArray( positionOSDLoc ); } osd_mutex.unlock(); @@ -633,7 +655,7 @@ fmt.setDepth( false ); fmt.setStencil( false ); drawable = new Drawable( *this, fmt ); - return drawable->init(); + return drawable->testGL(); #else drawable = new Drawable( *this ); return true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/modules/OpenGL2/OpenGL2Writer.hpp new/QMPlay2-src-15.12.25/src/modules/OpenGL2/OpenGL2Writer.hpp --- old/QMPlay2-src-15.12.06/src/modules/OpenGL2/OpenGL2Writer.hpp 2015-11-29 22:23:12.000000000 +0100 +++ new/QMPlay2-src-15.12.25/src/modules/OpenGL2/OpenGL2Writer.hpp 2015-12-25 18:01:48.000000000 +0100 @@ -3,11 +3,12 @@ #ifndef USE_NEW_OPENGL_API #include <QGLWidget> + #include <QGLShaderProgram> #else #include <QOpenGLWidget> + #include <QOpenGLShaderProgram> #endif -class QGLShaderProgram; class OpenGL2Writer; class QMPlay2_OSD; @@ -20,11 +21,15 @@ public: #ifndef USE_NEW_OPENGL_API Drawable( OpenGL2Writer &, const QGLFormat & ); - bool init(); + bool testGL(); #else Drawable( OpenGL2Writer & ); #endif +#ifndef OPENGL_ES2 + void initGLProc(); +#endif + void clr(); void resizeEvent( QResizeEvent * ); @@ -40,6 +45,10 @@ void resetClearCounter(); #endif private: +#ifndef OPENGL_ES2 + void showOpenGLMissingFeaturesMessage(); +#endif + void initializeGL(); #ifndef USE_NEW_OPENGL_API void resizeGL( int w, int h ); @@ -51,8 +60,9 @@ #endif bool event( QEvent * ); - QGLShaderProgram *shaderProgramYCbCr, *shaderProgramOSD; + QGLShaderProgram shaderProgramYCbCr, shaderProgramOSD; #ifndef OPENGL_ES2 + bool supportsShaders, canCreateNonPowerOfTwoTextures; GLActiveTexture glActiveTexture; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/qmplay2/headers/Functions.hpp new/QMPlay2-src-15.12.25/src/qmplay2/headers/Functions.hpp --- old/QMPlay2-src-15.12.06/src/qmplay2/headers/Functions.hpp 2015-12-03 20:21:58.000000000 +0100 +++ new/QMPlay2-src-15.12.25/src/qmplay2/headers/Functions.hpp 2015-12-20 21:18:28.000000000 +0100 @@ -70,11 +70,7 @@ #else timespec now; clock_gettime( - #ifdef CLOCK_MONOTONIC_RAW - CLOCK_MONOTONIC_RAW, - #else CLOCK_MONOTONIC, - #endif &now ); return now.tv_sec + ( now.tv_nsec / 1000000000.0 ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/qmplay2/headers/QMPlay2Core.hpp new/QMPlay2-src-15.12.25/src/qmplay2/headers/QMPlay2Core.hpp --- old/QMPlay2-src-15.12.06/src/qmplay2/headers/QMPlay2Core.hpp 2015-12-05 23:49:07.000000000 +0100 +++ new/QMPlay2-src-15.12.25/src/qmplay2/headers/QMPlay2Core.hpp 2015-12-25 17:07:10.000000000 +0100 @@ -1,7 +1,7 @@ #ifndef QMPLAY2CORE_HPP #define QMPLAY2CORE_HPP -#define QMPlay2Version "15.12.06" +#define QMPlay2Version "15.12.25" #if defined(__i386) || defined(__i386__) || defined(_M_IX86) || (__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(_M_X64) #define QMPLAY2_CPU_X86 @@ -104,7 +104,11 @@ } inline bool isWorking() { +#if QT_VERSION < 0x050000 return working > 0; +#else + return working.load() > 0; //For Qt5 <= 5.2 +#endif } private slots: void restoreCursorSlot();
