1SUMMARY="A cross-platform multimedia framework" 2DESCRIPTION="QtAV is a multimedia playback library based on Qt and FFmpeg. \ 3It can help you to write a player with less effort than ever before. 4 5QtAV can meet your most demands: 6 7* Hardware decoding suppprt: DXVA2, VAAPI, VDA/VideoToolbox, CedarX, CUDA 8* OpenGL and ES2 support for almost all formats including Hi10P videos 9* Real time preview 10* Video capture in rgb and yuv format 11* OSD and custom filters 12* Filters in libavfilter, for example stero3d, blur 13* Subtitle track select. Dynamic change FFmpeg and libass engine 14* Play frame by frame 15* Playback speed control 16* Variant streams: locale file, http, rtsp etc. and your custom streams 17* Audio channel, tracks and external audio tracks 18* Dynamically change render engine when playing. 19* Dynamically change video decoder 20* Multiple video outputs for 1 player 21* Video eq(software and OpenGL): brightness, contrast, saturation, hue 22* QML support. Most playback APIs are compatible with QtMultimedia module 23* Compatiblity: QtAV can be built with both Qt4 and Qt5, FFmpeg(>=1.0) \ 24and Libav (>=9.0). Latest FFmpeg release is recommended. 25 26Extensible Framework 27 28Some components in QtAV are designed to be extensible. For example, \ 29you can write your decoder, audio output for particular platform." 30HOMEPAGE="http://www.qtav.org/" 31COPYRIGHT="2013-2019 Wang Bin" 32LICENSE="GNU LGPL v2.1" 33REVISION="1" 34SOURCE_URI="https://github.com/wang-bin/QtAV/archive/v$portVersion.tar.gz" 35CHECKSUM_SHA256="a493d54d105b32c526f05188e4d7a8cf3508ecac697aae088721ffad20982288" 36SOURCE_DIR="QtAV-$portVersion" 37srcGitRev_2="6a5f3006533b79aa57a3a54cf9df4442a356dd48" 38SOURCE_URI_2="https://raw.githubusercontent.com/wang-bin/capi/$srcGitRev_2/capi.h#noarchive" 39CHECKSUM_SHA256_2="3b684223aafb5d4f3faf862b578547f7acd9b6e8d83b452271672f714b67b13d" 40PATCHES="qtav-$portVersion.patchset 41 5abba7f0.patch 42 5263d9d9.patch" 43 44ARCHITECTURES="all !x86_gcc2" 45SECONDARY_ARCHITECTURES="x86" 46 47libVersion="$portVersion" 48libVersionCompat="$libVersion compat >= ${libVersion%%.*}" 49 50PROVIDES=" 51 qtav$secondaryArchSuffix = $portVersion 52# cmd:player$secondaryArchSuffix = $portVersion #crashes 53# cmd:qmlplayer$secondaryArchSuffix = $portVersion #crashes 54 lib:libqtav$secondaryArchSuffix = $libVersionCompat 55 lib:libqtavwidgets$secondaryArchSuffix = $libVersionCompat 56 " 57REQUIRES=" 58 haiku$secondaryArchSuffix 59 lib:libass$secondaryArchSuffix 60 lib:libavcodec$secondaryArchSuffix 61 lib:libavdevice$secondaryArchSuffix 62 lib:libavfilter$secondaryArchSuffix 63 lib:libavformat$secondaryArchSuffix 64 lib:libavutil$secondaryArchSuffix 65 lib:libgl$secondaryArchSuffix 66 lib:libopenal$secondaryArchSuffix 67# lib:libportaudio$secondaryArchSuffix 68 lib:libQt5Core$secondaryArchSuffix 69 lib:libQt5Gui$secondaryArchSuffix 70 lib:libQt5Widgets$secondaryArchSuffix 71 lib:libswresample$secondaryArchSuffix 72 lib:libswscale$secondaryArchSuffix 73 lib:libuchardet$secondaryArchSuffix 74 " 75 76PROVIDES_devel=" 77 qtav${secondaryArchSuffix}_devel = $portVersion 78 devel:libqtav$secondaryArchSuffix = $libVersionCompat 79 devel:libqtavwidgets$secondaryArchSuffix = $libVersionCompat 80 " 81REQUIRES_devel=" 82 haiku${secondaryArchSuffix}_devel 83 qtav$secondaryArchSuffix == $portVersion base 84 " 85 86BUILD_REQUIRES=" 87 haiku${secondaryArchSuffix}_devel 88 devel:libass$secondaryArchSuffix 89 devel:libavcodec$secondaryArchSuffix >= 58 90 devel:libavdevice$secondaryArchSuffix >= 58 91 devel:libavfilter$secondaryArchSuffix >= 7 92 devel:libavformat$secondaryArchSuffix >= 58 93 devel:libavutil$secondaryArchSuffix >= 56 94 devel:libgl$secondaryArchSuffix 95 devel:libopenal$secondaryArchSuffix 96# devel:libportaudio$secondaryArchSuffix 97 devel:libQt5Core$secondaryArchSuffix 98 devel:libswresample$secondaryArchSuffix >= 3 99 devel:libswscale$secondaryArchSuffix 100 devel:libuchardet$secondaryArchSuffix 101 " 102BUILD_PREREQUIRES=" 103 cmd:cmake 104 cmd:find 105 cmd:g++$secondaryArchSuffix 106 cmd:lrelease$secondaryArchSuffix >= 5 107 cmd:make 108 cmd:pkg_config$secondaryArchSuffix 109 cmd:qmake$secondaryArchSuffix >= 5 110 cmd:xargs 111 " 112 113BUILD() 114{ 115 cp $sourceDir2/capi.h $sourceDir/contrib/capi 116 117 cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release \ 118 -DCMAKE_INSTALL_PREFIX=$prefix \ 119 -DCMAKE_INSTALL_HEADERS=$includeDir \ 120 -DCMAKE_INSTALL_LIBS=$libDir \ 121 -DCMAKE_INSTALL_BINS=$binDir \ 122 -DCMAKE_INSTALL_QML=$dataDir/Qt5/qml \ 123 -DBUILD_TESTS=OFF \ 124 -DBUILD_EXAMPLES=OFF \ 125 -DBUILD_PLAYERS=OFF \ 126 -DBUILD_QT5OPENGL=ON \ 127 -DHAVE_PORTAUDIO=OFF \ 128 -DHAVE_PULSE=OFF \ 129 -DHAVE_VAAPI=OFF 130 make -C build $jobArgs 131} 132 133INSTALL() 134{ 135 make -C build install 136 137 prepareInstalledDevelLibs \ 138 libQtAV \ 139 libQtAVWidgets 140 141 # devel package 142 packageEntries devel \ 143 $developDir \ 144 $libDir/cmake 145} 146