
Hello community, here is the log from the commit of package QMPlay2 for openSUSE:Factory checked in at 2015-08-29 20:04:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-08-03 17:21:29.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.QMPlay2.new/QMPlay2.changes 2015-08-29 20:04:28.000000000 +0200 @@ -3,0 +4,7 @@ +- Update to 15.08.12 (changes since 15.07.13): + * deinterlacing fixes in VAApi, + * MPRIS2 bugfix. + +------------------------------------------------------------------- +Mon Jul 13 18:06:19 UTC 2015 - dap.darkness@gmail.com + Old: ---- QMPlay2-src-15.07.13.tar.bz2 New: ---- QMPlay2-src-15.08.12.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ QMPlay2.spec ++++++ --- /var/tmp/diff_new_pack.tmehE7/_old 2015-08-29 20:04:29.000000000 +0200 +++ /var/tmp/diff_new_pack.tmehE7/_new 2015-08-29 20:04:29.000000000 +0200 @@ -17,7 +17,7 @@ Name: QMPlay2 -Version: 15.07.13 +Version: 15.08.12 Release: 0 Summary: A Qt based media player, streamer and downloader License: LGPL-3.0+ ++++++ QMPlay2-src-15.07.13.tar.bz2 -> QMPlay2-src-15.08.12.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/ChangeLog new/QMPlay2-src/ChangeLog --- old/QMPlay2-src/ChangeLog 2015-07-12 23:27:07.000000000 +0200 +++ new/QMPlay2-src/ChangeLog 2015-08-12 16:11:25.000000000 +0200 @@ -1,3 +1,8 @@ +Changes in QMPlay2 build 15.08.12: + - deinterlacing fixes in VAApi, + - minor fixes for Windows, + - MPRIS2 bugfix, + Changes in QMPlay2 build 15.07.13: - fixed problem from previous release with playing video (sometimes video plays at maximum speed), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/README.md new/QMPlay2-src/README.md --- old/QMPlay2-src/README.md 2015-06-26 17:14:40.000000000 +0200 +++ new/QMPlay2-src/README.md 2015-08-12 02:02:21.000000000 +0200 @@ -19,20 +19,6 @@ $ sudo zypper in QMPlay2 QMPlay2-kde-integration ``` -####Easy installation on Ubuntu - -- Just run the following commands: -```sh -$ sudo add-apt-repository ppa:samrog131/ppa -$ sudo apt-get update -$ sudo apt-get install qmplay2 -``` -- If you get dependency issues, do: -```sh -$ sudo apt-get install -f -$ sudo apt-get install qmplay2 -``` - ##Compilation from sources ###You need (devel packages): @@ -69,11 +55,15 @@ ###Linux/BSD: - Install all dependencies using package manager (in devel version) or compile it from sources. -- If you don't want to open Xterm or Konsole - "export NOTERM=1". -- If you want to prepare *.desktop files for system use - "export SYSTEM_BUILD=1". - If you want to compile with qt suffix (for example "qmake-qt5") - "export QT_SUFFIX=-qt5". -- Run "./compile_unix". -- QMPlay2 is in "app" directory, you can move its contents into /usr directory if $SYSTEM_BUILD == 1. +- Compilation only: + - If you don't want to open Xterm or Konsole - "export NOTERM=1". + - If you want to prepare *.desktop files for system use - "export SYSTEM_BUILD=1". + - Run "./compile_unix". + - QMPlay2 is in "app" directory, you can move its contents into "/usr" directory if "$SYSTEM_BUILD == 1". +- Compilation and installation: + - Run "./installer_unix install" (it compiles and uses "sudo" to copy files to "/usr"). + - If you want to uninstall, run "./installer_unix uninstall" (it also uses "sudo"). ###OS X: @@ -86,6 +76,6 @@ - Run "./compile_mac n" where "n" is number of threads (4 by default). Building package RPM, DEB or any other - look at Arch Linux PKGBUILD: ->http://aur.archlinux.org/packages/qm/qmplay2-git/PKGBUILD +>https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=qmplay2 QMPlay2 uses the external software - "youtube-dl", so "youtube-dl" should be as optional package in package manager. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/installer_unix new/QMPlay2-src/installer_unix --- old/QMPlay2-src/installer_unix 1970-01-01 01:00:00.000000000 +0100 +++ new/QMPlay2-src/installer_unix 2015-08-12 17:55:07.000000000 +0200 @@ -0,0 +1,52 @@ +#!/bin/bash + +arch=`uname -m` +if [ -z $arch ] || [ $arch != 'x86_64' ] || [ ! -e /usr/lib64 ]; then + libdir=lib +else + libdir=lib64 +fi + +function copy_files +{ + sudo cp --remove-destination -v app/bin/QMPlay2 /usr/bin || exit 1 + sudo cp --remove-destination -v app/lib/libqmplay2.so /usr/$libdir || exit 1 + sudo cp --remove-destination -v -r app/include /usr || exit 1 + sudo cp --remove-destination -v -r app/share /usr || exit 1 + + sudo strip /usr/bin/QMPlay2 || exit 1 + sudo strip /usr/share/qmplay2/modules/*.so || exit 1 +} + +function remove_files +{ + sudo rm -v /usr/bin/QMPlay2 + sudo rm -v /usr/$libdir/libqmplay2.so + sudo rm -v -r /usr/include/QMPlay2 + sudo rm -v /usr/share/applications/QMPlay2*.desktop + sudo rm -v /usr/share/icons/QMPlay2.png + sudo rm -v /usr/share/icons/hicolor/128x128/apps/QMPlay2.png + if [ -d /usr/share/kde4/apps/solid/actions ]; then + sudo rm -v /usr/share/kde4/apps/solid/actions/qmplay2-opencda.desktop + elif [ -d /usr/share/apps/solid/actions ]; then + sudo rm -v /usr/share/apps/solid/actions/qmplay2-opencda.desktop + fi + sudo rm -v -r /usr/share/qmplay2 +} + +export SYSTEM_BUILD=1 +export NOTERM=1 + +if [ -z $1 ] || ( [ $1 != 'install' ] && [ $1 != 'uninstall' ] ); then + echo "You must specify 'install' or 'uninstall'" + exit 1 +fi + +if [ $1 == 'install' ]; then + ./compile_unix || exit $? + copy_files && echo "Installation complete!" && exit + echo "Installation failed!" + exit 1 +else + remove_files +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/AudioThr.cpp new/QMPlay2-src/src/gui/AudioThr.cpp --- old/QMPlay2-src/src/gui/AudioThr.cpp 2015-07-12 19:50:35.000000000 +0200 +++ new/QMPlay2-src/src/gui/AudioThr.cpp 2015-08-04 18:48:59.000000000 +0200 @@ -127,7 +127,7 @@ bool paused = false; tmp_br = tmp_time = 0; #ifdef Q_OS_WIN - canRefresh = false; + canUpdatePos = canUpdateBitrate = false; #endif while ( !br ) { @@ -150,7 +150,7 @@ if ( playC.paused || ( !hasAPackets && !hasBufferedSamples ) || playC.waitForData ) { #ifdef Q_OS_WIN - canRefresh = false; + canUpdatePos = canUpdateBitrate = false; #endif tmp_br = tmp_time = 0; if ( playC.paused && !paused ) @@ -200,13 +200,15 @@ tmp_br += bytes_consumed; } -#ifndef Q_OS_WIN if ( tmp_time >= 1000.0 ) { +#ifdef Q_OS_WIN + canUpdateBitrate = true; +#else emit playC.updateBitrate( round( ( tmp_br << 3 ) / tmp_time ), -1, -1.0 ); tmp_br = tmp_time = 0; - } #endif + } delay = writer->getParam( "delay" ).toDouble(); foreach ( AudioFilter *filter, filters ) @@ -254,7 +256,7 @@ packet.ts += playC.audio_last_delay; #ifdef Q_OS_WIN - canRefresh = true; + canUpdatePos = true; #endif if ( playC.skipAudioFrame <= 0.0 ) @@ -343,13 +345,20 @@ #ifdef Q_OS_WIN void AudioThr::timerEvent( QTimerEvent * ) { - if ( !canRefresh || br || !isRunning() ) + if ( br || !isRunning() ) return; - canRefresh = false; - if ( !playC.vThr && playC.canUpdatePos ) - emit playC.updatePos( round( playC.pos ) ); - emit playC.updateBitrate( round( ( tmp_br << 3 ) / tmp_time ), -1, -1.0 ); - tmp_br = tmp_time = 0; + if ( canUpdatePos ) + { + if ( !playC.vThr && playC.canUpdatePos ) + emit playC.updatePos( round( playC.pos ) ); + canUpdatePos = false; + } + if ( canUpdateBitrate ) + { + emit playC.updateBitrate( round( ( tmp_br << 3 ) / tmp_time ), -1, -1.0 ); + canUpdateBitrate = false; + tmp_time = tmp_br = 0; + } } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/AudioThr.hpp new/QMPlay2-src/src/gui/AudioThr.hpp --- old/QMPlay2-src/src/gui/AudioThr.hpp 2015-06-04 17:36:29.000000000 +0200 +++ new/QMPlay2-src/src/gui/AudioThr.hpp 2015-08-04 18:35:20.000000000 +0200 @@ -41,7 +41,7 @@ volatile double doSilence; QMutex silenceChMutex; #ifdef Q_OS_WIN - bool canRefresh; + bool canUpdatePos, canUpdateBitrate; #endif QVector< QMPlay2Extensions * > visualizations; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/DemuxerThr.cpp new/QMPlay2-src/src/gui/DemuxerThr.cpp --- old/QMPlay2-src/src/gui/DemuxerThr.cpp 2015-07-12 23:24:59.000000000 +0200 +++ new/QMPlay2-src/src/gui/DemuxerThr.cpp 2015-08-04 18:22:17.000000000 +0200 @@ -256,7 +256,9 @@ forwardPackets -= backwardPackets; } - setPriority( QThread::HighPriority ); + if ( !localStream ) + setPriority( QThread::LowPriority ); //Network streams should have low priority, because slow CPUs have problems with smooth video playing during buffering + while ( !demuxer.isAborted() ) { AVThread *aThr = ( AVThread * )playC.aThr, *vThr = ( AVThread * )playC.vThr; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/Extensions/MPRIS2.cpp new/QMPlay2-src/src/modules/Extensions/MPRIS2.cpp --- old/QMPlay2-src/src/modules/Extensions/MPRIS2.cpp 2015-06-04 17:36:29.000000000 +0200 +++ new/QMPlay2-src/src/modules/Extensions/MPRIS2.cpp 2015-08-11 19:34:57.000000000 +0200 @@ -85,11 +85,11 @@ MediaPlayer2Player::MediaPlayer2Player( QObject *p ) : QDBusAbstractAdaptor( p ), exportCovers( false ), removeCover( false ), - trackID( QDBusObjectPath( QString( "/org/qmplay2/MediaPlayer2/Track/%1" ).arg( qrand() ) ) ), //is it OK? + trackID( QDBusObjectPath( QString( "/org/qmplay2/MediaPlayer2/Track/0" ) ) ), //I don't use TrackID in QMPlay2 playState( "Stopped" ), can_seek( false ), vol( 1.0 ), r( 1.0 ), - len( 0 ), pos( 0 ) + pos( 0 ) { clearMetaData(); m_data[ "mpris:trackid" ] = QVariant::fromValue< QDBusObjectPath >( trackID ); @@ -201,13 +201,16 @@ } void MediaPlayer2Player::Seek( qint64 Offset ) { - if ( Offset != position() && Offset >= 0 && Offset <= m_data[ "mpris:length" ].toLongLong() ) - QMPlay2Core.processParam( "seek", QString::number( Offset / 1000000LL ) ); + if ( Offset != 0 ) + { + const qint64 Position = position() + Offset; + SetPosition( trackID, Position < 0 ? 0 : Position ); + } } void MediaPlayer2Player::SetPosition( const QDBusObjectPath &TrackId, qint64 Position ) { - if ( trackID == TrackId ) - Seek( Position ); + if ( trackID == TrackId && Position != position() && Position >= 0 && Position <= m_data[ "mpris:length" ].toLongLong() ) + QMPlay2Core.processParam( "seek", QString::number( Position / 1000000LL ) ); } void MediaPlayer2Player::OpenUri( const QString &Uri ) { @@ -217,20 +220,20 @@ void MediaPlayer2Player::updatePlaying( bool play, const QString &title, const QString &artist, const QString &album, int length, bool needCover, const QString &fileName ) { Q_UNUSED( needCover ) - bool tmp = play && length > 0; + const bool tmp = play && length > 0; if ( tmp != can_seek ) propertyChanged( "CanSeek", can_seek = tmp ); if ( !play ) clearMetaData(); else { - m_data[ "mpris:length" ] = len = length * 1000000LL; + m_data[ "mpris:length" ] = length < 0 ? -1 : length * 1000000LL; if ( title.isEmpty() && artist.isEmpty() ) m_data[ "xesam:title" ] = fileName; else { m_data[ "xesam:title" ] = title; - m_data[ "xesam:artist" ] = artist; + m_data[ "xesam:artist" ] = QStringList() << artist; } m_data[ "xesam:album" ] = album; } @@ -286,7 +289,8 @@ QFile::remove( m_data[ "mpris:artUrl" ].toString() ); removeCover = false; } - m_data[ "mpris:artUrl" ] = m_data[ "xesam:title" ] = m_data[ "xesam:artist" ] = m_data[ "xesam:album" ] = QString(); + m_data[ "mpris:artUrl" ] = m_data[ "xesam:title" ] = m_data[ "xesam:album" ] = QString(); + m_data[ "xesam:artist" ] = QStringList() << QString(); m_data[ "mpris:length" ] = qint64(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/Extensions/MPRIS2.hpp new/QMPlay2-src/src/modules/Extensions/MPRIS2.hpp --- old/QMPlay2-src/src/modules/Extensions/MPRIS2.hpp 2015-06-04 17:36:29.000000000 +0200 +++ new/QMPlay2-src/src/modules/Extensions/MPRIS2.hpp 2015-08-11 19:15:02.000000000 +0200 @@ -120,7 +120,7 @@ QString playState; bool can_seek; double vol, r; - qint64 len, pos; + qint64 pos; }; /**/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFDemux.cpp new/QMPlay2-src/src/modules/FFMpeg/FFDemux.cpp --- old/QMPlay2-src/src/modules/FFMpeg/FFDemux.cpp 2015-07-11 21:07:10.000000000 +0200 +++ new/QMPlay2-src/src/modules/FFMpeg/FFDemux.cpp 2015-08-11 22:24:09.000000000 +0200 @@ -287,10 +287,14 @@ return true; } val += start_time; +#ifndef MP3_FAST_SEEK if ( seekByByteOffset < 0 ) +#endif return av_seek_frame( formatCtx, -1, ( int64_t )val * AV_TIME_BASE, backward ? AVSEEK_FLAG_BACKWARD : 0 ) >= 0; +#ifndef MP3_FAST_SEEK else if ( length() > 0 ) return av_seek_frame( formatCtx, -1, ( int64_t )val * ( avio_size( formatCtx->pb ) - seekByByteOffset ) / length() + seekByByteOffset, AVSEEK_FLAG_BYTE | ( backward ? AVSEEK_FLAG_BACKWARD : 0 ) ) >= 0; +#endif } return false; } @@ -388,12 +392,16 @@ const double time_base = av_q2d( streams[ ff_idx ]->time_base ); +#ifndef MP3_FAST_SEEK if ( seekByByteOffset < 0 ) +#endif encoded.ts.set( packet.dts * time_base, packet.pts * time_base, start_time ); +#ifndef MP3_FAST_SEEK else if ( packet.pos > -1 && length() > 0.0 ) lastTime = encoded.ts = ( ( packet.pos - seekByByteOffset ) * length() ) / ( avio_size( formatCtx->pb ) - seekByByteOffset ); else encoded.ts = lastTime; +#endif if ( packet.duration > 0 ) encoded.duration = packet.duration * time_base; @@ -451,11 +459,17 @@ formatCtx->interrupt_callback.callback = ( int( * )( void * ) )interruptCB; formatCtx->interrupt_callback.opaque = &aborted; +// formatCtx->flags |= AVFMT_FLAG_GENPTS; //Is it necessary (it can slow down demuxing)? +#ifdef MP3_FAST_SEEK + formatCtx->flags |= AVFMT_FLAG_FAST_SEEK; +#endif + if ( avformat_open_input( &formatCtx, url.toUtf8(), NULL, &options ) || !formatCtx || disabledDemuxers.contains( name() ) ) return false; - formatCtx->flags |= AVFMT_FLAG_GENPTS; +#ifndef MP3_FAST_SEEK seekByByteOffset = formatCtx->pb ? avio_tell( formatCtx->pb ) : -1; //formatCtx->data_offset, moved to private since ffmpeg 2.6 +#endif avcodec_mutex.lock(); if ( avformat_find_stream_info( formatCtx, NULL ) < 0 ) @@ -466,10 +480,12 @@ avcodec_mutex.unlock(); isStreamed = !isLocal && formatCtx->duration == QMPLAY2_NOPTS_VALUE; +#ifndef MP3_FAST_SEEK if ( seekByByteOffset > -1 && ( isStreamed || name() != "mp3" ) ) seekByByteOffset = -1; +#endif - isOneStreamOgg = name() == "ogg" && formatCtx->nb_streams == 1; + isOneStreamOgg = name() == "ogg" && formatCtx->nb_streams == 1; //Workaround for some OGG network streams if ( ( start_time = formatCtx->start_time / ( double )AV_TIME_BASE ) < 0.0 ) start_time = 0.0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFDemux.hpp new/QMPlay2-src/src/modules/FFMpeg/FFDemux.hpp --- old/QMPlay2-src/src/modules/FFMpeg/FFDemux.hpp 2015-07-11 21:07:10.000000000 +0200 +++ new/QMPlay2-src/src/modules/FFMpeg/FFDemux.hpp 2015-08-11 22:24:06.000000000 +0200 @@ -7,6 +7,10 @@ #include <libavformat/version.h> } +#if LIBAVFORMAT_VERSION_MAJOR >= 56 && LIBAVFORMAT_VERSION_MINOR >= 36 + #define MP3_FAST_SEEK +#endif + struct AVFormatContext; struct AVDictionary; struct AVStream; @@ -55,7 +59,9 @@ bool isLocal, paused, isStreamed, aborted, fix_mkv_ass; mutable bool isMetadataChanged; double lastTime, start_time; +#ifndef MP3_FAST_SEEK qint64 seekByByteOffset; +#endif bool isOneStreamOgg; int lastErr; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.cpp new/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.cpp --- old/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.cpp 2015-07-11 14:06:52.000000000 +0200 +++ new/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.cpp 2015-08-12 17:33:44.000000000 +0200 @@ -11,11 +11,6 @@ #include <va/va_x11.h> -#ifdef HAVE_VPP - #define VPP_TFF 0 - #define VPP_BFF ( VA_DEINTERLACING_BOTTOM_FIELD | VA_DEINTERLACING_BOTTOM_FIELD_FIRST ) -#endif - VAApiWriter::VAApiWriter( Module &module ) : ok( false ), VADisp( NULL ), @@ -156,12 +151,13 @@ if ( !vpp_second && forward_reference == curr_id ) return data.size(); - if ( do_vpp_deint && !vpp_second ) + if ( do_vpp_deint ) { VAProcFilterParameterBufferDeinterlacing *deint_params = NULL; if ( vaMapBuffer( VADisp, vpp_buffers[ VAProcFilterDeinterlacing ], ( void ** )&deint_params ) == VA_STATUS_SUCCESS ) { - deint_params->flags = field == VA_TOP_FIELD ? VPP_TFF : VPP_BFF; + if ( ( major >= 0 && minor > 37 ) || !vpp_second ) + deint_params->flags = field == VA_TOP_FIELD ? 0 : VA_DEINTERLACING_BOTTOM_FIELD; vaUnmapBuffer( VADisp, vpp_buffers[ VAProcFilterDeinterlacing ] ); } } @@ -274,8 +270,7 @@ clr(); VADisp = vaGetDisplay( ( display = XOpenDisplay( NULL ) ) ); - int minor, major; - if ( vaInitialize( VADisp, &minor, &major ) == VA_STATUS_SUCCESS ) + if ( vaInitialize( VADisp, &major, &minor ) == VA_STATUS_SUCCESS ) { const QString vendor = vaQueryVendorString( VADisp ); isVDPAU = vendor.contains( "VDPAU" ); @@ -542,7 +537,7 @@ } if ( vpp_deint_type != VAProcDeinterlacingNone ) { - VAProcFilterParameterBufferDeinterlacing deint_params = { VAProcFilterDeinterlacing, vpp_deint_type, VPP_TFF }; + VAProcFilterParameterBufferDeinterlacing deint_params = { VAProcFilterDeinterlacing, vpp_deint_type, 0 }; if ( vaCreateBuffer( VADisp, context_vpp, VAProcFilterParameterBufferType, sizeof deint_params, 1, &deint_params, &vpp_buffers[ VAProcFilterDeinterlacing ] ) != VA_STATUS_SUCCESS ) vpp_buffers[ VAProcFilterDeinterlacing ] = VA_INVALID_ID; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.hpp new/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.hpp --- old/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.hpp 2015-07-11 13:52:38.000000000 +0200 +++ new/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.hpp 2015-08-12 16:52:35.000000000 +0200 @@ -109,6 +109,7 @@ double aspect_ratio, zoom; VASurfaceID id; int field, X, Y, W, H, outW, outH, deinterlace, Hue, Saturation, Brightness, Contrast; + int minor, major; #ifdef HAVE_VPP //Postprocessing VAContextID context_vpp; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/qmplay2/headers/QMPlay2Core.hpp new/QMPlay2-src/src/qmplay2/headers/QMPlay2Core.hpp --- old/QMPlay2-src/src/qmplay2/headers/QMPlay2Core.hpp 2015-07-12 23:02:39.000000000 +0200 +++ new/QMPlay2-src/src/qmplay2/headers/QMPlay2Core.hpp 2015-08-12 17:21:53.000000000 +0200 @@ -1,7 +1,7 @@ #ifndef QMPLAY2CORE_HPP #define QMPLAY2CORE_HPP -#define QMPlay2Version "15.07.13" +#define QMPlay2Version "15.08.12" #if defined(__i386) || defined(__i386__) || defined(_M_IX86) || (__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(_M_X64) #define QMPLAY2_CPU_X86
participants (1)
-
root@hilbert.suse.de