mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-04 22:18:55 +02:00
176 lines
5.5 KiB
Bash
176 lines
5.5 KiB
Bash
SUMMARY="A cross-platform multimedia framework"
|
|
DESCRIPTION="QtAV is a multimedia playback library based on Qt and FFmpeg. \
|
|
It can help you to write a player with less effort than ever \
|
|
before.
|
|
|
|
QtAV can meet your most demands:
|
|
|
|
* Hardware decoding suppprt: DXVA2, VAAPI, VDA/VideoToolbox, CedarX, CUDA
|
|
* OpenGL and ES2 support for almost all formats including Hi10P videos
|
|
* Real time preview
|
|
* Video capture in rgb and yuv format
|
|
* OSD and custom filters
|
|
* Filters in libavfilter, for example stero3d, blur
|
|
* Subtitle track select. Dynamic change FFmpeg and libass engine
|
|
* Play frame by frame
|
|
* Playback speed control
|
|
* Variant streams: locale file, http, rtsp etc. and your custom streams
|
|
* Audio channel, tracks and external audio tracks
|
|
* Dynamically change render engine when playing.
|
|
* Dynamically change video decoder
|
|
* Multiple video outputs for 1 player
|
|
* Video eq(software and OpenGL): brightness, contrast, saturation, hue
|
|
* QML support. Most playback APIs are compatible with QtMultimedia module
|
|
* Compatiblity: QtAV can be built with both Qt4 and Qt5, FFmpeg(>=1.0) \
|
|
and Libav (>=9.0). Latest FFmpeg release is recommended.
|
|
|
|
Extensible Framework
|
|
|
|
Some components in QtAV are designed to be extensible. For example, \
|
|
you can write your decoder, audio output for particular platform."
|
|
HOMEPAGE="http://www.qtav.org/"
|
|
COPYRIGHT="2013-2017 Wang Bin"
|
|
LICENSE="GNU LGPL v2.1"
|
|
REVISION="3"
|
|
SOURCE_URI="https://github.com/wang-bin/QtAV/archive/v$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="65ab859985d73521c2d17e72117baae0f3f6242b69f59994acada76fa5364193"
|
|
SOURCE_DIR="QtAV-$portVersion"
|
|
|
|
ARCHITECTURES="!x86_gcc2 x86 ?x86_64"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
PROVIDES="
|
|
qtav$secondaryArchSuffix = $portVersion
|
|
lib:libqtav$secondaryArchSuffix = 1.11.0 compat >= 1
|
|
lib:libqtavwidgets$secondaryArchSuffix = 1.11.0 compat >= 1
|
|
cmd:ao$secondaryArchSuffix = $portVersion
|
|
cmd:audiopipeline$secondaryArchSuffix = $portVersion
|
|
cmd:decoder$secondaryArchSuffix = $portVersion
|
|
cmd:extract$secondaryArchSuffix = $portVersion
|
|
cmd:filters$secondaryArchSuffix = $portVersion
|
|
cmd:framereader$secondaryArchSuffix = $portVersion
|
|
cmd:glslfilter$secondaryArchSuffix = $portVersion
|
|
cmd:player$secondaryArchSuffix = $portVersion
|
|
cmd:playerthread$secondaryArchSuffix = $portVersion
|
|
cmd:qiodevice$secondaryArchSuffix = $portVersion
|
|
cmd:qmlplayer$secondaryArchSuffix = $portVersion
|
|
cmd:qrc$secondaryArchSuffix = $portVersion
|
|
cmd:shader$secondaryArchSuffix = $portVersion
|
|
cmd:sharedoutput$secondaryArchSuffix = $portVersion
|
|
cmd:simpleplayer$secondaryArchSuffix = $portVersion
|
|
cmd:simpletranscode$secondaryArchSuffix = $portVersion
|
|
cmd:subtitle$secondaryArchSuffix = $portVersion
|
|
cmd:transcode$secondaryArchSuffix = $portVersion
|
|
cmd:videocapture$secondaryArchSuffix = $portVersion
|
|
cmd:videographicsitem$secondaryArchSuffix = $portVersion
|
|
cmd:videogroup$secondaryArchSuffix = $portVersion
|
|
cmd:videowall$secondaryArchSuffix = $portVersion
|
|
cmd:window$secondaryArchSuffix = $portVersion
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
qt5$secondaryArchSuffix
|
|
lib:libass$secondaryArchSuffix
|
|
lib:libavcodec$secondaryArchSuffix
|
|
lib:libavdevice$secondaryArchSuffix
|
|
lib:libavfilter$secondaryArchSuffix
|
|
lib:libavformat$secondaryArchSuffix
|
|
lib:libpostproc$secondaryArchSuffix
|
|
lib:libavresample$secondaryArchSuffix
|
|
lib:libswresample$secondaryArchSuffix
|
|
lib:libswscale$secondaryArchSuffix
|
|
lib:libavutil$secondaryArchSuffix
|
|
lib:libgl$secondaryArchSuffix
|
|
lib:libopenal$secondaryArchSuffix
|
|
lib:libuchardet$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
qtav$secondaryArchSuffix = $portVersion
|
|
devel:libqtav$secondaryArchSuffix = 1.11.0 compat >= 1
|
|
devel:libqtavwidgets$secondaryArchSuffix = 1.11.0 compat >= 1
|
|
"
|
|
REQUIRES_devel="
|
|
haiku${secondaryArchSuffix}_devel
|
|
qt5${secondaryArchSuffix}_devel
|
|
devel:libass$secondaryArchSuffix
|
|
devel:libavcodec$secondaryArchSuffix
|
|
devel:libavdevice$secondaryArchSuffix
|
|
devel:libavfilter$secondaryArchSuffix
|
|
devel:libavformat$secondaryArchSuffix
|
|
devel:libpostproc$secondaryArchSuffix
|
|
devel:libavresample$secondaryArchSuffix
|
|
devel:libswresample$secondaryArchSuffix
|
|
devel:libswscale$secondaryArchSuffix
|
|
devel:libavutil$secondaryArchSuffix
|
|
devel:libgl$secondaryArchSuffix
|
|
devel:libopenal$secondaryArchSuffix
|
|
devel:libuchardet$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
qt5${secondaryArchSuffix}_devel
|
|
devel:libass$secondaryArchSuffix
|
|
devel:libavcodec$secondaryArchSuffix
|
|
devel:libavdevice$secondaryArchSuffix
|
|
devel:libavfilter$secondaryArchSuffix
|
|
devel:libavformat$secondaryArchSuffix
|
|
devel:libpostproc$secondaryArchSuffix
|
|
devel:libavresample$secondaryArchSuffix
|
|
devel:libswresample$secondaryArchSuffix
|
|
devel:libswscale$secondaryArchSuffix
|
|
devel:libavutil$secondaryArchSuffix
|
|
devel:libgl$secondaryArchSuffix
|
|
devel:libopenal$secondaryArchSuffix
|
|
devel:libuchardet$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:find
|
|
cmd:g++$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
cmd:qmake$secondaryArchSuffix >= 5.5
|
|
cmd:xargs
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
mkdir -p build
|
|
cd build
|
|
qmake ..
|
|
make $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
cd build
|
|
|
|
mkdir -p $libDir
|
|
mkdir -p $includeDir
|
|
mkdir -p $dataDir/qml/QtAV/
|
|
mkdir -p $binDir
|
|
|
|
cp -f lib_unix*/*Qt*AV*.so* $libDir/
|
|
cp -R tools/install_sdk/mkspecs $dataDir/Qt5/
|
|
cp -f ../qml/plugins.qmltypes $dataDir/qml/QtAV/
|
|
cp -R ../src/QtAV/ $includeDir/
|
|
cp -R ../widgets/QtAVWidgets/ $includeDir/
|
|
cp -f -R bin/QtAV $dataDir/qml
|
|
rm -rf bin/QtAV
|
|
cp -f bin/* $binDir/
|
|
|
|
prepareInstalledDevelLibs \
|
|
libQtAV \
|
|
libQtAVWidgets
|
|
|
|
# devel package
|
|
packageEntries devel \
|
|
$developDir
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
make check
|
|
}
|