Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %define up_name QtAV
- %define major 1
- %define libname %mklibname %{name} %{major}
- %define libname_widgets %mklibname %{name}widgets %{major}
- %define develname %mklibname %{name} -d
- Name: qt5av
- Version: 1.10.0
- Release: %mkrel 0.1
- Summary: Qt5 multimedia framework
- License: LGPLv2+ and GPLv3
- Group: Video/Players
- Url: http://qtav.org/
- Source0: https://github.com/wang-bin/QtAV/archive/v%{version}/%{up_name}-%{version}.tar.gz
- BuildRequires: imagemagick
- BuildRequires: kf5-macros
- BuildRequires: portaudio-devel
- BuildRequires: pkgconfig(Qt5Core)
- BuildRequires: pkgconfig(Qt5Gui)
- BuildRequires: pkgconfig(Qt5OpenGL)
- BuildRequires: pkgconfig(Qt5Qml)
- BuildRequires: pkgconfig(Qt5Quick)
- BuildRequires: pkgconfig(Qt5Widgets)
- BuildRequires: pkgconfig(egl)
- BuildRequires: pkgconfig(libass)
- BuildRequires: pkgconfig(libavcodec)
- BuildRequires: pkgconfig(libavdevice)
- BuildRequires: pkgconfig(libavfilter)
- BuildRequires: pkgconfig(libavformat)
- BuildRequires: pkgconfig(libavresample)
- BuildRequires: pkgconfig(libavutil)
- BuildRequires: pkgconfig(libpulse) >= 1.0
- BuildRequires: pkgconfig(libswresample)
- BuildRequires: pkgconfig(libswscale)
- BuildRequires: pkgconfig(libva)
- BuildRequires: pkgconfig(openal)
- BuildRequires: pkgconfig(uchardet)
- BuildRequires: pkgconfig(xv)
- Provides: %{up_name} = %{version}-%{release}
- %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.
- Features include:
- * Hardware decoding suppprt: DXVA2, VAAPI, VDA, CedarX, CUDA
- * OpenGL and ES2 support for Hi10P and other 16-bit YUV videos
- * Real time preview
- * Video capture in rgb and yuv format
- * OSD and custom filters
- * Subtitle
- * Transform video using GraphicsItemRenderer. (rotate, shear, etc)
- * Playing frame by frame (currently support forward playing)
- * Playback speed control
- * Variant streams: locale file, http, rtsp, etc.
- * Audio channel, tracks and external audio tracks
- * Dynamically change render engine when playing
- * Multiple video outputs for 1 player
- * Region of interest(ROI), i.e. video cropping
- * Video eq: brightness, contrast, saturation, hue
- * QML support as a plugin. Most playback APIs are compatible with
- QtMultiMedia module
- %files
- %doc Changelog README*
- %license gpl-3.0* lgpl-2.1*
- %{_bindir}/Player
- %{_bindir}/QMLPlayer
- %{_qt5_bindir}/player
- %{_qt5_bindir}/QMLPlayer
- %{_datadir}/applications/player.desktop
- %{_datadir}/applications/QMLPlayer.desktop
- %{_iconsdir}/hicolor/scalable/apps/%{up_name}.svg
- %dir %{_qt5_qml}/%{up_name}
- %{_qt5_qml}/%{up_name}/Video.qml
- %{_qt5_qml}/%{up_name}/libQmlAV.so
- %{_qt5_qml}/%{up_name}/plugins.qmltypes
- %{_qt5_qml}/%{up_name}/qmldir
- #----------------------------------------------------
- %package -n %{libname}
- Summary: QtAV library
- Group: System/Libraries
- %description -n %{libname}
- QtAV is a multimedia playback library based on Qt and FFmpeg.
- This package contains the QtAV library.
- %files -n %{libname}
- %{_qt5_libdir}/lib%{up_name}.so.%{major}{,.*}
- #----------------------------------------------------
- %package -n %{libname_widgets}
- Summary: QtAV Widgets module
- Group: System/Libraries
- %description -n %{libname_widgets}
- QtAV is a multimedia playback library based on Qt and FFmpeg.
- This package contains a set of widgets to play media.
- %files -n %{libname_widgets}
- %{_qt5_libdir}/lib%{up_name}Widgets.so.%{major}{,.*}
- #----------------------------------------------------
- %package -n %{develname}
- Summary: QtAV development files
- Group: Development/C++
- Requires: %{libname} = %{version}-%{release}
- Requires: %{libname_widgets} = %{version}-%{release}
- Provides: %{name}-devel = %{version}-%{release}
- Provides: qtav-devel= %{version}-%{release}
- %description -n %{develname}
- QtAV is a multimedia playback library based on Qt and FFmpeg.
- This package contains the header development files for building some QtAV
- applications using QtAV headers.
- %files -n %{develname}
- %{_qt5_includedir}/
- %{_qt5_libdir}/lib%{up_name}.so
- %{_qt5_libdir}/lib%{up_name}Widgets.so
- %{_qt5_libdir}/lib%{up_name}.prl
- %{_qt5_libdir}/lib%{up_name}Widgets.prl
- %{_qt5_bindir}/libcommon.prl
- %{_qt5_prefix}/mkspecs/features/av.prf
- %{_qt5_prefix}/mkspecs/features/avwidgets.prf
- %{_kf5_mkspecsdir}/qt_lib_av.pri
- %{_kf5_mkspecsdir}/qt_lib_av_private.pri
- %{_kf5_mkspecsdir}/qt_lib_avwidgets.pri
- %{_kf5_mkspecsdir}/qt_lib_avwidgets_private.pri
- #----------------------------------------------------
- %prep
- %setup -q -n %{up_name}-%{version}
- %build
- %qmake_qt5 "CONFIG+=no_rpath recheck"
- %make_build
- %install
- %qmakeinstall_std
- find %{buildroot} -name '*.a' -delete
- # binaries
- mkdir -p %{buildroot}%{_bindir}
- ln -s %{_qt5_bindir}/player %{buildroot}%{_bindir}/Player
- ln -s %{_qt5_bindir}/QMLPlayer %{buildroot}%{_bindir}/QMLPlayer
- # icons svg
- mkdir -p %{buildroot}%{_iconsdir}/hicolor/scalable/apps
- mv %{buildroot}%{_iconsdir}/hicolor/{64x64/apps,scalable/apps}/%{up_name}.svg
- # duplicate files
- rm -rf %{buildroot}%{_datadir}/doc
Advertisement
Add Comment
Please, Sign In to add comment