Skip to content

Commit

Permalink
version 1.11.0
Browse files Browse the repository at this point in the history
Changelog
- Dynamic load QtAVWidgets in VideoOutput.
`QtAV::Widgets::registerRenderers()` and `QT  = avwidgets` is not
requred now.
- D3D11 decoder support. Not stable on Windows phone.
- DXVA refactor and bug fix.
- VA-API: fix memory leak when seeking
- OpenGL:
 * Fix PBO binding
 * Custom shader support (WIP)
 * Edit and apply custom shader when playing. Based on Qt property
system.
 * Optimize uniform update
 * GLSL filter support
 * Add `OpenGLVideo.beforeRendering/afterRendering`
- CUDA:
 * Direct copy is default for windows. Now Rendering CUDA decoded frames
is faster than any other players
 * 0-copy is default for linux.
 * Use new API (4.0)
- AVPlayer:
 * Add `AVPlayer.stoppedAt` signal
 * add `setTimeRange()`
 * setStart/StopPosition can be called at any time with any value
 * Ensure all threads are running when `started` is emitted
 * Support preload using `load()`. Now no reload in `play()`
- Fix build with QT_NAMESPACE
- Fix swscale color range
- Fix linux install destinations
- Add AVTranscoder.async, encoders are in individual threads
- Add FrameReader class
- Use FFmpeg 3.0 API
- QML:
 * Support filters, including sw filters from libavfilter, and GLSL
filter
 * Add `MediaPlayer/Video.audioBackends` property
 * Support autoLoad
 * Add `VideoOutput.mapTo/FromXXX` between source frame and item
 * Video EQ in VideoOutput/Video
 * Add `MediaPlayer.startPosition/stopPotion`
- QMLPlayer: Open video and subtitle at the same time. History view.
Zoom. Video EQ
  • Loading branch information
wang-bin committed Jun 20, 2016
1 parent 3b7a248 commit 3b418cb
Show file tree
Hide file tree
Showing 20 changed files with 115 additions and 28 deletions.
2 changes: 1 addition & 1 deletion .qmake.conf
Original file line number Diff line number Diff line change
@@ -1,5 1,5 @@
QTAV_MAJOR_VERSION = 1
QTAV_MINOR_VERSION = 10
QTAV_MINOR_VERSION = 11
QTAV_PATCH_VERSION = 0

QTAV_VERSION = $${QTAV_MAJOR_VERSION}.$${QTAV_MINOR_VERSION}.$${QTAV_PATCH_VERSION}
Expand Down
40 changes: 40 additions & 0 deletions Changelog
Original file line number Diff line number Diff line change
@@ -1,3 1,43 @@
version 1.11.0 2016-06-19

Changelog
- Dynamic load QtAVWidgets in VideoOutput. `QtAV::Widgets::registerRenderers()` and `QT = avwidgets` is not requred now.
- D3D11 decoder support. Not stable on Windows phone.
- DXVA refactor and bug fix.
- VA-API: fix memory leak when seeking
- OpenGL:
* Fix PBO binding
* Custom shader support (WIP)
* Edit and apply custom shader when playing. Based on Qt property system.
* Optimize uniform update
* GLSL filter support
* Add `OpenGLVideo.beforeRendering/afterRendering`
- CUDA:
* Direct copy is default for windows. Now Rendering CUDA decoded frames is faster than any other players
* 0-copy is default for linux.
* Use new API (4.0)
- AVPlayer:
* Add `AVPlayer.stoppedAt` signal
* add `setTimeRange()`
* setStart/StopPosition can be called at any time with any value
* Ensure all threads are running when `started` is emitted
* Support preload using `load()`. Now no reload in `play()`
- Fix build with QT_NAMESPACE
- Fix swscale color range
- Fix linux install destinations
- Add AVTranscoder.async, encoders are in individual threads
- Add FrameReader class
- Use FFmpeg 3.0 API
- QML:
* Support filters, including sw filters from libavfilter, and GLSL filter
* Add `MediaPlayer/Video.audioBackends` property
* Support autoLoad
* Add `VideoOutput.mapTo/FromXXX` between source frame and item
* Video EQ in VideoOutput/Video
* Add `MediaPlayer.startPosition/stopPotion`
- QMLPlayer: Open video and subtitle at the same time. History view. Zoom. Video EQ


version 1.10.0 2016-03-01

Changelog
Expand Down
36 changes: 36 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 1,39 @@
qtav (1.11.0) unstable; urgency=low

* Dynamic load QtAVWidgets in VideoOutput. avwidgets module is not requred now.
* D3D11 decoder support. Not stable on Windows phone.
* DXVA refactor and bug fix.
* VA-API: fix memory leak when seeking
* Fix PBO binding
* Custom shader support (WIP)
* Edit and apply custom shader when playing. Based on Qt property system.
* Optimize uniform update
* GLSL filter support
* Add `OpenGLVideo.beforeRendering/afterRendering`
* CUDA: Direct copy is default on windows. CUDA rendering is faster than any other players
* CUDA: 0-copy is default for linux.
* CUDA: Use new API (4.0)
* Add `AVPlayer.stoppedAt` signal
* Add `AVPlayer.setTimeRange()`
* AVPlayer.setStart/StopPosition can be called at any time with any value
* Ensure all threads are running when `AVPlayer.started` is emitted
* Support preload using `AVPlayer.load()`. Now no reload in `play()`
* Fix build with QT_NAMESPACE
* Fix swscale color range
* Fix linux install destinations
* Add AVTranscoder.async, encoders are in individual threads
* Add FrameReader class
* Use FFmpeg 3.0 API
* QML: Support filters, including sw filters from libavfilter, and GLSL filter
* QML: Add `MediaPlayer/Video.audioBackends` property
* QML: Support autoLoad
* QML: Add `VideoOutput.mapTo/FromXXX` between source frame and item
* QML: Video EQ in VideoOutput/Video
* QML: Add `MediaPlayer.startPosition/stopPotion`
* QMLPlayer: Open video and subtitle at the same time. History view. Zoom. Video EQ

-- Wang Bin (Lucas) <[email protected]> Sun, 19 Jun 2016 21:13:08 0800

qtav (1.10.0) unstable; urgency=low

* Improve seek speed, fix drop too much frames after seek
Expand Down
2 changes: 1 addition & 1 deletion debian/ubuntu.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 16,7 @@ DATE=`date -d @$(git log -n1 --format="%at") %Y%m%d`
for D in ${DISTRIBUTIONS[@]}; do
git checkout -- debian/changelog
cp -avf debian/changelog $CHANGELOG_BAK
VER=1.10.0~`git log -1 --pretty=format:"git${DATE}.%h~${D}" 2> /dev/null`
VER=1.11.0~`git log -1 --pretty=format:"git${DATE}.%h~${D}" 2> /dev/null`
mkchangelog $VER $D
debuild -S -sa
dput -f ppa:wbsecg1/qtav ../qtav_${VER}_source.changes
Expand Down
13 changes: 11 additions & 2 deletions doc/BuildQtAV.md
Original file line number Diff line number Diff line change
@@ -1,5 1,7 @@
***Uninstall QtAV SDK before building to avoid header files confliction. Run sdk_uninstall.bat/sh under your build dir***

Shadow build is recommended (required for mac build).

## 0. Prerequisites

- Get QtAV source code
Expand All @@ -23,7 25,7 @@ Other requirements are:

OpenAL(Optional). OpenAL is not required since QtAV1.8.0. XAudio2 is always used. XAudio2 supports XP~windows 10 and Windows Store apps. Windows 8 and later natively supports XAudio2. For Windows 7 and older, you have to install [the driver from DirectX](http://sourceforge.net/projects/qtav/files/depends/DXSDK2010_XAudio2_redist.7z/download) to run.

- ***OS X, iOS*** None. System OpenAL is used
- ***OS X, iOS*** None. AudioToolbox and System OpenAL is used
- ***Android***

On Windows you must put `mingw32-make.exe` in one of `%PATH%` to avoid qmake error.
Expand Down Expand Up @@ -146,4 148,11 @@ to .qmake.conf or .qmake.cache
- [travis ci for linux and OSX](https://travis-ci.org/wang-bin/QtAV)
- [appveyor for mingw and vs2013(msbuild nmake)](https://ci.appveyor.com/project/wang-bin/qtav)

You can read the build log to see how they work.
You can read the build log to see how they work.


### Build Error

- qmake error `Checking for avutil... no`

Make sure ffmpeg headers and libs can be found by compiler. Read config.log in build dir for details.
4 changes: 2 additions & 2 deletions examples/QMLPlayer/android/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 1,5 @@
<?xml version="1.0"?>
<manifest package="org.qtav.qmlplayer" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.10.0" android:versionCode="5" android:installLocation="auto">
<manifest package="org.qtav.qmlplayer" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.11.0" android:versionCode="7" android:installLocation="auto">
<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="QMLPlayer" android:icon="@drawable/icon">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="org.qtav.qmlplayer.QMLPlayerActivity" android:label="QtAV QMLPlayer" android:screenOrientation="unspecified" android:launchMode="singleTop">
<intent-filter>
Expand Down Expand Up @@ -48,7 48,7 @@
<!-- Background running -->
</activity>
</application>
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19"/>
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="19"/>
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>

<!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
Expand Down
4 changes: 2 additions & 2 deletions examples/QMLPlayer/ios/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 19,9 @@
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleShortVersionString</key>
<string>1.10</string>
<string>1.11</string>
<key>CFBundleVersion</key>
<string>1.10.0</string>
<string>1.11.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIFileSharingEnabled</key>
Expand Down
2 changes: 2 additions & 0 deletions examples/QMLPlayer/qml/QMLPlayer/main.qml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 105,8 @@ Rectangle {
}
}
onSourceChanged: {
videoOut.zoom = 1
videoOut.regionOfInterest = Qt.rect(0, 0, 0, 0)
msg.info("url: " source)
}

Expand Down
4 changes: 2 additions & 2 deletions examples/QMLPlayer/winrt/WinPhone8.Package.appxmanifest
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 4,7 @@
Name=\"org.qtav.qmlplayer\"
ProcessorArchitecture=\"$$lower($$VCPROJ_ARCH)\"
Publisher=\"CN=930FB10A-C50C-4801-84BA-255229D27D44\"
Version=\"1.10.0.0\" />
Version=\"1.11.0.0\" />
<mp:PhoneIdentity
PhoneProductId=\"e556656c-d8e8-49f9-8148-26506e94575a\"
PhonePublisherId=\"00000000-0000-0000-0000-000000000000\" />
Expand Down Expand Up @@ -51,7 51,7 @@
<Extension Category=\"windows.fileTypeAssociation\">
<FileTypeAssociation Name=\"qmlplayer\"> <!-- lower case-->
<DisplayName>QtAV QMLPlayer</DisplayName>
<Logo>assets\logo_store.png</Logo>
<Logo>assets/logo_store.png</Logo>
<EditFlags AlwaysUnsafe=\"true\" />
<SupportedFileTypes>
<FileType>.3gp</FileType>
Expand Down
4 changes: 2 additions & 2 deletions examples/QMLPlayer/winrt/WinRT10.Package.appxmanifest
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 10,7 @@
<Identity
Name=\"org.qtav.qmlplayer\"
Publisher=\"CN=930FB10A-C50C-4801-84BA-255229D27D44\"
Version=\"1.10.0.0\"
Version=\"1.11.0.0\"
ProcessorArchitecture=\"$$lower($$VCPROJ_ARCH)\" /> <!--replaced by qmake-->
<mp:PhoneIdentity
PhoneProductId=\"e556656c-d8e8-49f9-8148-26506e94575a\"
Expand Down Expand Up @@ -48,7 48,7 @@
<uap:FileTypeAssociation Name=\"qmlplayer\"> <!-- lower case-->
<uap:DisplayName>QtAV QMLPlayer</uap:DisplayName>
<uap:InfoTip>QtAV media player</uap:InfoTip>
<uap:Logo>assets\logo_store.png</uap:Logo>
<uap:Logo>assets/logo_store.png</uap:Logo>
<uap:EditFlags AlwaysUnsafe=\"true\" />
<uap:SupportedFileTypes>
<uap:FileType>.3gp</uap:FileType>
Expand Down
4 changes: 2 additions & 2 deletions examples/QMLPlayer/winrt/WinRT8.Package.appxmanifest
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 4,7 @@
Name=\"org.qtav.qmlplayer\"
ProcessorArchitecture=\"$$lower($$VCPROJ_ARCH)\"
Publisher=\"CN=930FB10A-C50C-4801-84BA-255229D27D44\"
Version=\"1.10.0.0\" />
Version=\"1.11.0.0\" />
<Properties>
<DisplayName>QtAV Video Player</DisplayName>
<PublisherDisplayName>Lucas Wang</PublisherDisplayName>
Expand Down Expand Up @@ -51,7 51,7 @@
<Extension Category=\"windows.fileTypeAssociation\">
<FileTypeAssociation Name=\"qmlplayer\"> <!-- lower case-->
<DisplayName>QtAV QMLPlayer</DisplayName>
<Logo>assets\logo_store.png</Logo>
<Logo>assets/logo_store.png</Logo>
<EditFlags AlwaysUnsafe=\"true\" />
<SupportedFileTypes>
<FileType>.3gp</FileType>
Expand Down
2 changes: 1 addition & 1 deletion qtc_packaging/debian_generic/control
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 5,7 @@ Maintainer: Wang Bin(Lucas Wang) <[email protected]>
Source: QtAV
Section: video
Priority: optional
Homepage: http://www.qtav.org
Homepage: http://qtav.org
Depends:
Description: A media playing framework based on Qt and FFmpeg
QtAV is a media playing framework based on Qt and FFmpeg. It can help you to write a player with less effort than ever before.
2 changes: 1 addition & 1 deletion qtc_packaging/ifw/config/config.xml
Original file line number Diff line number Diff line change
@@ -1,7 1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>QtAV</Name>
<Version>1.10.0</Version>
<Version>1.11.0</Version>
<Title>QtAV Multimedia framework</Title>
<Publisher>WangBin [email protected]</Publisher>
<ProductUrl>http://qtav.org</ProductUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 2,8 @@
<Package>
<DisplayName>Development files</DisplayName>
<Description>Install QtAV headers and lib.</Description>
<Version>1.10.0-0</Version>
<ReleaseDate>2016-03-01</ReleaseDate>
<Version>1.11.0-0</Version>
<ReleaseDate>2016-06-19</ReleaseDate>
<Name>com.qtav.product.dev</Name>
<Default>script</Default>
<Script>installscript.qs</Script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 2,8 @@
<Package>
<DisplayName>Examples</DisplayName>
<Description>Install QtAV examples.</Description>
<Version>1.10.0-0</Version>
<ReleaseDate>2016-03-01</ReleaseDate>
<Version>1.11.0-0</Version>
<ReleaseDate>2016-06-19</ReleaseDate>
<Name>com.qtav.product.examples</Name>
<Default>script</Default>
<Script>installscript.qs</Script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 2,4 @@
D=`readlink -f $0`
D=${D%/*}
export LD_LIBRARY_PATH=$D:$D/lib
$D/player "$@" # name with spaces
$D/Player "$@" # name with spaces
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 2,8 @@
<Package>
<DisplayName>Player</DisplayName>
<Description>Default player.</Description>
<Version>1.10.0-0</Version>
<ReleaseDate>2016-03-01</ReleaseDate>
<Version>1.11.0-0</Version>
<ReleaseDate>2016-06-19</ReleaseDate>
<Name>com.qtav.product.player</Name>
<Default>true</Default>
<ForcedInstallation>true</ForcedInstallation>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 2,8 @@
<Package>
<DisplayName>Runtime library</DisplayName>
<Description>Install QtAV runtime library.</Description>
<Version>1.10.0-0</Version>
<ReleaseDate>2016-03-01</ReleaseDate>
<Version>1.11.0-0</Version>
<ReleaseDate>2016-06-19</ReleaseDate>
<Name>com.qtav.product.runtime</Name>
<Translations>
<Translation>zh_CN.qm</Translation>
Expand Down
4 changes: 2 additions & 2 deletions qtc_packaging/ifw/packages/com.qtav.product/meta/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 2,8 @@
<Package>
<DisplayName>QtAV</DisplayName>
<Description>Install QtAV multimedia library</Description>
<Version>1.10.0-0</Version>
<ReleaseDate>2016-03-01</ReleaseDate>
<Version>1.11.0-0</Version>
<ReleaseDate>2016-06-19</ReleaseDate>
<Name>com.qtav.product</Name>
<Licenses>
<License name="LGPL v2.1" file="lgpl-2.1.txt" />
Expand Down
2 changes: 1 addition & 1 deletion src/QtAV/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 23,7 @@
#define QTAV_VERSION_H

#define QTAV_MAJOR 1 //((QTAV_VERSION&0xff0000)>>16)
#define QTAV_MINOR 10 //((QTAV_VERSION&0xff00)>>8)
#define QTAV_MINOR 11 //((QTAV_VERSION&0xff00)>>8)
#define QTAV_PATCH 0 //(QTAV_VERSION&0xff)


Expand Down

0 comments on commit 3b418cb

Please sign in to comment.