diff --git a/.qmake.conf b/.qmake.conf index 08c62792c..d3b8d95c6 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -1,5 +1,5 @@ QTAV_MAJOR_VERSION = 1 -QTAV_MINOR_VERSION = 11 +QTAV_MINOR_VERSION = 12 QTAV_PATCH_VERSION = 0 QTAV_VERSION = $${QTAV_MAJOR_VERSION}.$${QTAV_MINOR_VERSION}.$${QTAV_PATCH_VERSION} diff --git a/Changelog b/Changelog index 71a5cc1da..99ce223c9 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,16 @@ +version 1.12.0 2017-06-20 + +Changelog +- CMake support +- Fix iOS build +- Fix AVPacket memory leak +- Geometry & GeometryRenderer class is public +- PAL8, XYZ color format support +- Fix OpenGL background color +- Fix external clock error after pause +- VA-API encoder support (ffmpeg>=3) +- Other improvements, fixes, and untested features + version 1.11.0 2016-06-19 Changelog diff --git a/common.pri b/common.pri index 65cf3ab1d..cc509ad6f 100644 --- a/common.pri +++ b/common.pri @@ -32,7 +32,7 @@ isEmpty(QMAKE_EXTENSION_SHLIB) { CONFIG += profile #profiling, -pg is not supported for msvc -debug:!android:!*msvc*:profile { +debug:!ios:!android:!*msvc*:profile { QMAKE_CXXFLAGS_DEBUG += -pg QMAKE_LFLAGS_DEBUG += -pg QMAKE_CXXFLAGS_DEBUG = $$unique(QMAKE_CXXFLAGS_DEBUG) diff --git a/debian/changelog b/debian/changelog index d73ee1db0..603686c0e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,17 @@ +qtav (1.12.0) unstable; urgency=low + + * CMake support + * Fix iOS build + * Fix AVPacket memory leak + * Geometry & GeometryRenderer class is public + * PAL8, XYZ color format support + * Fix OpenGL background color + * Fix external clock error after pause + * VA-API encoder support (ffmpeg>=3) + * Other improvements, fixes, and untested features + + -- Wang Bin (Lucas) Tue, 20 Jun 2017 20:44:14 +0800 + qtav (1.11.0) unstable; urgency=low * Dynamic load QtAVWidgets in VideoOutput. avwidgets module is not requred now. diff --git a/debian/ubuntu.sh b/debian/ubuntu.sh index 6a4910be8..a9a09069e 100755 --- a/debian/ubuntu.sh +++ b/debian/ubuntu.sh @@ -19,7 +19,7 @@ for D in ${DISTRIBUTIONS[@]}; do git checkout -- debian/changelog debian/control cp -avf debian/control $CONTROL_BAK cp -avf debian/changelog $CHANGELOG_BAK - VER=1.11.0~`git log -1 --pretty=format:"git${DATE}.%h~${D}" 2> /dev/null` + VER=1.12.0~`git log -1 --pretty=format:"git${DATE}.%h~${D}" 2> /dev/null` mkchangelog $VER $D if [ $idx -gt 3 ]; then sed -i 's,qtdeclarative5-controls-plugin,qml-module-qtquick-controls,g' debian/control diff --git a/examples/QMLPlayer/QMLPlayer_sdk.pro b/examples/QMLPlayer/QMLPlayer_sdk.pro index 91367120e..cf528c476 100644 --- a/examples/QMLPlayer/QMLPlayer_sdk.pro +++ b/examples/QMLPlayer/QMLPlayer_sdk.pro @@ -56,7 +56,7 @@ defineTest(genRC) { RC_ICONS = $$PROJECTROOT/src/QtAV.ico QMAKE_TARGET_COMPANY = "Shanghai University->S3 Graphics->Deepin | wbsecg1@gmail.com" QMAKE_TARGET_DESCRIPTION = "QtAV Multimedia playback framework. http://qtav.org" - QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2016 WangBin, wbsecg1@gmail.com" + QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2017 WangBin, wbsecg1@gmail.com" QMAKE_TARGET_PRODUCT = "QtAV $$1" export(RC_ICONS) export(QMAKE_TARGET_COMPANY) diff --git a/examples/QMLPlayer/android/AndroidManifest.xml b/examples/QMLPlayer/android/AndroidManifest.xml index 23b515c26..c18a76bd4 100644 --- a/examples/QMLPlayer/android/AndroidManifest.xml +++ b/examples/QMLPlayer/android/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/examples/QMLPlayer/ios/Info.plist b/examples/QMLPlayer/ios/Info.plist index 16df301e4..098df396d 100644 --- a/examples/QMLPlayer/ios/Info.plist +++ b/examples/QMLPlayer/ios/Info.plist @@ -19,9 +19,9 @@ CFBundleName ${PRODUCT_NAME} CFBundleShortVersionString - 1.11 + 1.12 CFBundleVersion - 1.11.0 + 1.12.0 LSRequiresIPhoneOS UIFileSharingEnabled diff --git a/examples/QMLPlayer/winrt/WinPhone8.Package.appxmanifest b/examples/QMLPlayer/winrt/WinPhone8.Package.appxmanifest index c01898285..f3877185e 100644 --- a/examples/QMLPlayer/winrt/WinPhone8.Package.appxmanifest +++ b/examples/QMLPlayer/winrt/WinPhone8.Package.appxmanifest @@ -4,7 +4,7 @@ Name=\"org.qtav.qmlplayer\" ProcessorArchitecture=\"$$lower($$VCPROJ_ARCH)\" Publisher=\"CN=930FB10A-C50C-4801-84BA-255229D27D44\" - Version=\"1.11.0.0\" /> + Version=\"1.12.0.0\" /> diff --git a/examples/QMLPlayer/winrt/WinRT10.Package.appxmanifest b/examples/QMLPlayer/winrt/WinRT10.Package.appxmanifest index de43555ea..b72e3f0d1 100644 --- a/examples/QMLPlayer/winrt/WinRT10.Package.appxmanifest +++ b/examples/QMLPlayer/winrt/WinRT10.Package.appxmanifest @@ -10,7 +10,7 @@ + Version=\"1.12.0.0\" /> QtAV Video Player Lucas Wang diff --git a/examples/common/libcommon.pri b/examples/common/libcommon.pri index d9b81d442..60b767ed6 100644 --- a/examples/common/libcommon.pri +++ b/examples/common/libcommon.pri @@ -152,7 +152,7 @@ defineTest(genRC) { RC_ICONS = $$PROJECTROOT/src/QtAV.ico QMAKE_TARGET_COMPANY = "Shanghai University->S3 Graphics->Deepin | wbsecg1@gmail.com" QMAKE_TARGET_DESCRIPTION = "QtAV Multimedia framework. http://qtav.org" - QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2016 WangBin, wbsecg1@gmail.com" + QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2017 WangBin, wbsecg1@gmail.com" QMAKE_TARGET_PRODUCT = "QtAV $$1" export(RC_ICONS) export(QMAKE_TARGET_COMPANY) diff --git a/examples/player/ios/Info.plist b/examples/player/ios/Info.plist new file mode 100644 index 000000000..dbd3b7dda --- /dev/null +++ b/examples/player/ios/Info.plist @@ -0,0 +1,231 @@ + + + + + CFBundleIconFile + @ICON@ + CFBundlePackageType + APPL + CFBundleGetInfoString + Created by Wang Bin + CFBundleSignature + ???? + CFBundleExecutable + Player + CFBundleIdentifier + org.qtav.player + CFBundleDisplayName + QtAV Player + CFBundleName + QtAV Player + CFBundleShortVersionString + 1.12 + CFBundleVersion + 1.12.0 + LSRequiresIPhoneOS + + UIFileSharingEnabled + + UILaunchStoryboardName + LaunchScreen + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + NOTE + This file was generated by Qt/QMake. + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + AAC + AC3 + AIFF + M4A + MKA + MP3 + OGG + PCM + VAW + WAV + WAW + WMA + aac + ac3 + aiff + m4a + mka + mp3 + ogg + pcm + vaw + wav + waw + wma + + CFBundleTypeIconFile + document.icns + CFBundleTypeName + Audio file + CFBundleTypeRole + Viewer + LSTypeIsPackage + + NSPersistentStoreTypeKey + XML + + + CFBundleTypeExtensions + + * + * + 3GP + 3IV + 3gp + 3iv + ASF + AVI + CPK + DAT + DIVX + DV + FLAC + FLI + FLV + H264 + I263 + M2TS + M4V + MKV + MOV + MP2 + MP4 + MPEG + MPG + MPG2 + MPG4 + NSV + NUT + NUV + OGG + OGM + QT + RM + RMVB + VCD + VFW + VOB + WEBM + WMV + asf + avi + cpk + dat + divx + dv + flac + fli + flv + h264 + i263 + m2ts + m4v + mkv + mov + mp2 + mp4 + mpeg + mpg + mpg2 + mpg4 + mts + nsv + nut + nuv + ogg + ogm + qt + rm + rmvb + vcd + vfw + vob + webm + wmv + f4v + ts + + CFBundleTypeIconFile + document.icns + CFBundleTypeName + Movie file + CFBundleTypeRole + Viewer + LSTypeIsPackage + + NSPersistentStoreTypeKey + XML + + + CFBundleTypeExtensions + + AQT + ASS + JSS + RT + SMI + SRT + SSA + SUB + TXT + UTF + aqt + ass + jss + rt + smi + srt + ssa + sub + txt + utf + + CFBundleTypeIconFile + document.icns + CFBundleTypeName + Subtitles file + CFBundleTypeRole + Viewer + LSTypeIsPackage + + NSPersistentStoreTypeKey + XML + + + CFBundleURLTypes + + + CFBundleTypeRole + Viewer + CFBundleURLName + Streaming Protocol + CFBundleURLSchemes + + mms + mmst + http + httpproxy + rtp + rtsp + ftp + udp + smb + + + + + diff --git a/examples/player/player_sdk.pro b/examples/player/player_sdk.pro index fb5c61022..c42ba8cb9 100644 --- a/examples/player/player_sdk.pro +++ b/examples/player/player_sdk.pro @@ -1,4 +1,5 @@ -QT += sql +TARGET = Player +QT += sql svg ########## template for QtAV app project BEGIN ################ greaterThan(QT_MAJOR_VERSION, 4) { QT += avwidgets @@ -22,11 +23,15 @@ RESOURCES += $$COMMON/theme/theme.qrc isEmpty(PROJECTROOT): PROJECTROOT = $$PWD/../.. mac: RC_FILE = $$PROJECTROOT/src/QtAV.icns QMAKE_INFO_PLIST = $$COMMON/Info.plist +ios: QMAKE_INFO_PLIST = ios/Info.plist +videos.files = video +videos.path = / +QMAKE_BUNDLE_DATA += videos defineTest(genRC) { RC_ICONS = $$PROJECTROOT/src/QtAV.ico QMAKE_TARGET_COMPANY = "Shanghai University->S3 Graphics->Deepin | wbsecg1@gmail.com" QMAKE_TARGET_DESCRIPTION = "QtAV Multimedia framework. http://qtav.org" - QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2016 WangBin, wbsecg1@gmail.com" + QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2017 WangBin, wbsecg1@gmail.com" QMAKE_TARGET_PRODUCT = "QtAV $$1" export(RC_ICONS) export(QMAKE_TARGET_COMPANY) diff --git a/qml/libQmlAV.pro b/qml/libQmlAV.pro index b9fffa855..9652008d2 100644 --- a/qml/libQmlAV.pro +++ b/qml/libQmlAV.pro @@ -65,7 +65,7 @@ EXTRA_COPY_FILES = $$qtav_qml.files QMAKE_WRITE_DEFAULT_RC = 1 QMAKE_TARGET_COMPANY = "Shanghai University->S3 Graphics->Deepin | wbsecg1@gmail.com" QMAKE_TARGET_DESCRIPTION = "QtAV QML module. QtAV Multimedia framework. http://qtav.org" -QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2016 WangBin, wbsecg1@gmail.com" +QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2017 WangBin, wbsecg1@gmail.com" QMAKE_TARGET_PRODUCT = "QtAV QML" SOURCES += \ diff --git a/qtc_packaging/ifw/build.sh b/qtc_packaging/ifw/build.sh index 330e14383..3dd3ec99b 100755 --- a/qtc_packaging/ifw/build.sh +++ b/qtc_packaging/ifw/build.sh @@ -203,7 +203,7 @@ cd - ### player echo "coping player files..." -mv $RT_DIR/data/bin/{player${EXE},QMLPlayer${EXE}} $TARGET/packages/com.qtav.product.player/data/bin +mv $RT_DIR/data/bin/{Player${EXE},QMLPlayer${EXE}} $TARGET/packages/com.qtav.product.player/data/bin ### examples echo "coping examples..." diff --git a/qtc_packaging/ifw/config/config.xml b/qtc_packaging/ifw/config/config.xml index 373ea1317..df5742190 100644 --- a/qtc_packaging/ifw/config/config.xml +++ b/qtc_packaging/ifw/config/config.xml @@ -1,7 +1,7 @@ QtAV - 1.11.0 + 1.12.0 QtAV Multimedia framework WangBin wbsecg1@gmail.com http://qtav.org diff --git a/qtc_packaging/ifw/packages/com.qtav.product.dev/meta/package.xml b/qtc_packaging/ifw/packages/com.qtav.product.dev/meta/package.xml index 1585ea99d..408b78397 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product.dev/meta/package.xml +++ b/qtc_packaging/ifw/packages/com.qtav.product.dev/meta/package.xml @@ -2,8 +2,8 @@ Development files Install QtAV headers and lib. - 1.11.0-0 - 2016-06-19 + 1.12.0-0 + 2017-06-20 com.qtav.product.dev script diff --git a/qtc_packaging/ifw/packages/com.qtav.product.examples/meta/package.xml b/qtc_packaging/ifw/packages/com.qtav.product.examples/meta/package.xml index f5e75fd24..c3269b18f 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product.examples/meta/package.xml +++ b/qtc_packaging/ifw/packages/com.qtav.product.examples/meta/package.xml @@ -2,8 +2,8 @@ Examples Install QtAV examples. - 1.11.0-0 - 2016-06-19 + 1.12.0-0 + 2017-06-20 com.qtav.product.examples script diff --git a/qtc_packaging/ifw/packages/com.qtav.product.player/meta/package.xml b/qtc_packaging/ifw/packages/com.qtav.product.player/meta/package.xml index 7d18164a3..1d861cb8d 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product.player/meta/package.xml +++ b/qtc_packaging/ifw/packages/com.qtav.product.player/meta/package.xml @@ -2,8 +2,8 @@ Player Default player. - 1.11.0-0 - 2016-06-19 + 1.12.0-0 + 2017-06-20 com.qtav.product.player true true diff --git a/qtc_packaging/ifw/packages/com.qtav.product.runtime/meta/package.xml b/qtc_packaging/ifw/packages/com.qtav.product.runtime/meta/package.xml index 7c996bea4..83e5cd69a 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product.runtime/meta/package.xml +++ b/qtc_packaging/ifw/packages/com.qtav.product.runtime/meta/package.xml @@ -2,8 +2,8 @@ Runtime library Install QtAV runtime library. - 1.11.0-0 - 2016-06-19 + 1.12.0-0 + 2017-06-20 com.qtav.product.runtime zh_CN.qm diff --git a/qtc_packaging/ifw/packages/com.qtav.product/meta/package.xml b/qtc_packaging/ifw/packages/com.qtav.product/meta/package.xml index c87de7922..139380156 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product/meta/package.xml +++ b/qtc_packaging/ifw/packages/com.qtav.product/meta/package.xml @@ -2,8 +2,8 @@ QtAV Install QtAV multimedia library - 1.11.0-0 - 2016-06-19 + 1.12.0-0 + 2017-06-20 com.qtav.product diff --git a/src/QtAV.rc b/src/QtAV.rc index 943e0b607..19f78e749 100644 --- a/src/QtAV.rc +++ b/src/QtAV.rc @@ -22,7 +22,7 @@ BEGIN VALUE "CompanyName", "Shanghai University->S3 Graphics->Deepin | wbsecg1@gmail.com" VALUE "FileDescription", "QtAV Multimedia framework. http://qtav.org" VALUE "FileVersion", QTAV_VERSION_STR ".0" - VALUE "LegalCopyright", "Copyright (C) 2012-2016 WangBin, wbsecg1@gmail.com" + VALUE "LegalCopyright", "Copyright (C) 2012-2017 WangBin, wbsecg1@gmail.com" VALUE "InternalName", "QtAV" VALUE "OriginalFilename", "QtAV.dll" VALUE "ProductName", "QtAV" diff --git a/src/QtAV/version.h b/src/QtAV/version.h index 54c8f4ed3..88c05969e 100644 --- a/src/QtAV/version.h +++ b/src/QtAV/version.h @@ -1,6 +1,6 @@ /****************************************************************************** QtAV: Multimedia framework based on Qt and FFmpeg - Copyright (C) 2012-2016 Wang Bin + Copyright (C) 2012-2017 Wang Bin * This file is part of QtAV @@ -23,7 +23,7 @@ #define QTAV_VERSION_H #define QTAV_MAJOR 1 //((QTAV_VERSION&0xff0000)>>16) -#define QTAV_MINOR 11 //((QTAV_VERSION&0xff00)>>8) +#define QTAV_MINOR 12 //((QTAV_VERSION&0xff00)>>8) #define QTAV_PATCH 0 //(QTAV_VERSION&0xff) diff --git a/src/QtAV_Global.cpp b/src/QtAV_Global.cpp index 25e2d67da..806655e78 100644 --- a/src/QtAV_Global.cpp +++ b/src/QtAV_Global.cpp @@ -1,6 +1,6 @@ /****************************************************************************** QtAV: Multimedia framework based on Qt and FFmpeg - Copyright (C) 2012-2016 Wang Bin + Copyright (C) 2012-2017 Wang Bin * This file is part of QtAV @@ -189,14 +189,14 @@ QString aboutQtAV_PlainText() QString aboutQtAV_HTML() { static QString about = QString::fromLatin1("

QtAV " QTAV_VERSION_STR_LONG "

\n" - "

%1

%2

%3

" + "

%1

%2

%3

" "

Copyright (C) 2012-2016 Wang Bin (aka. Lucas Wang) wbsecg1@gmail.com

\n" "

%4: http://qtav.org/donate.html

\n" "

%5: https://github.com/wang-bin/QtAV

\n" "

%6: http://qtav.org

" ).arg(QObject::tr("Multimedia framework base on Qt and FFmpeg.\n")) .arg(QObject::tr("Distributed under the terms of LGPLv2.1 or later.\n")) - .arg(QObject::tr("Shanghai University->S3 Graphics->Deepin, Shanghai, China")) + .arg(QObject::tr("Shanghai University->S3 Graphics->Deepin->PPTV, Shanghai, China")) .arg(QObject::tr("Donate")) .arg(QObject::tr("Source")) .arg(QObject::tr("Home page")); diff --git a/src/libQtAV.pro b/src/libQtAV.pro index 687a11d59..d2e94c454 100644 --- a/src/libQtAV.pro +++ b/src/libQtAV.pro @@ -53,7 +53,7 @@ RESOURCES += QtAV.qrc \ RC_ICONS = QtAV.ico QMAKE_TARGET_COMPANY = "Shanghai University->S3 Graphics->Deepin | wbsecg1@gmail.com" QMAKE_TARGET_DESCRIPTION = "QtAV Multimedia framework. http://qtav.org" - QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2016 WangBin, wbsecg1@gmail.com" + QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2017 WangBin, wbsecg1@gmail.com" QMAKE_TARGET_PRODUCT = "QtAV" } else:win32 { RC_FILE = QtAV.rc @@ -88,7 +88,7 @@ win32 { # cross build, old vc etc. !config_dx: INCLUDEPATH += $$PROJECTROOT/contrib/dxsdk } -*msvc* { +*msvc*:!winrt { #link FFmpeg and portaudio which are built by gcc need /SAFESEH:NO win32-msvc2010|win32-msvc2008|win32-msvc2012 { QMAKE_LFLAGS *= /DEBUG #workaround for CoInitializeEx() and other symbols not found at runtime @@ -97,7 +97,6 @@ win32 { debug: QMAKE_LFLAGS += /SAFESEH:NO #CXXFLAGS debug: /MTd !static:QMAKE_LFLAGS *= /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcmtd.lib #for msbuild vs2013 - } capi { contains(QT_CONFIG, egl)|contains(QT_CONFIG, dynamicgl)|contains(QT_CONFIG, opengles2) { diff --git a/widgets/libQtAVWidgets.pro b/widgets/libQtAVWidgets.pro index e061d0346..7c60148e9 100644 --- a/widgets/libQtAVWidgets.pro +++ b/widgets/libQtAVWidgets.pro @@ -26,7 +26,7 @@ preparePaths($$OUT_PWD/../out) RC_ICONS = $$PROJECTROOT/src/QtAV.ico QMAKE_TARGET_COMPANY = "Shanghai University->S3 Graphics->Deepin | wbsecg1@gmail.com" QMAKE_TARGET_DESCRIPTION = "QtAVWidgets module. QtAV Multimedia framework. http://qtav.org" - QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2016 WangBin, wbsecg1@gmail.com" + QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2012-2017 WangBin, wbsecg1@gmail.com" QMAKE_TARGET_PRODUCT = "QtAV Widgets" } else:win32 { RC_FILE = QtAVWidgets.rc