diff --git a/media-video/qtav/qtav-1.11.0.recipe b/media-video/qtav/qtav-1.11.0.recipe new file mode 100644 index 000000000..581baa3eb --- /dev/null +++ b/media-video/qtav/qtav-1.11.0.recipe @@ -0,0 +1,175 @@ +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-2014 Wang Bin" +LICENSE="GNU LGPL v2.1" +REVISION="1" +SOURCE_URI="https://github.com/wang-bin/QtAV/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="888675b2734940c693eec24f8b35a434a428f6827868876e149e0979d629bba5" +SOURCE_DIR="QtAV-1.11.0" + +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 +}