mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-05 14:38:51 +02:00
98 lines
2.6 KiB
Bash
98 lines
2.6 KiB
Bash
SUMMARY="The interactive audio codec Opus"
|
|
DESCRIPTION="Opus is a totally open, royalty-free, highly versatile audio \
|
|
codec. Opus is unmatched for interactive speech and music transmission over \
|
|
the Internet, but is also intended for storage and streaming applications. \
|
|
It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 \
|
|
which incorporated technology from Skype's SILK codec and Xiph.Org's CELT \
|
|
codec.
|
|
|
|
Opus can handle a wide range of audio applications, including Voice over IP, \
|
|
videoconferencing, in-game chat, and even remote live music performances. It \
|
|
can scale from low bitrate narrowband speech to very high quality stereo \
|
|
music.
|
|
|
|
Supported features are:
|
|
|
|
* Bitrates from 6 kb/s to 510 kb/s
|
|
* Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
|
|
* Frame sizes from 2.5 ms to 60 ms
|
|
* Support for both constant bitrate (CBR) and variable bitrate (VBR)
|
|
* Audio bandwidth from narrowband to fullband
|
|
* Support for speech and music
|
|
* Support for mono and stereo
|
|
* Support for up to 255 channels (multistream frames)
|
|
* Dynamically adjustable bitrate, audio bandwidth, and frame size
|
|
* Good loss robustness and packet loss concealment (PLC)
|
|
* Floating point and fixed-point implementation"
|
|
HOMEPAGE="https://www.opus-codec.org/"
|
|
COPYRIGHT="2001-2019 Xiph.org"
|
|
LICENSE="BSD (3-clause)"
|
|
REVISION="1"
|
|
SOURCE_URI="https://archive.mozilla.org/pub/opus/opus-$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d"
|
|
PATCHES="opus-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
|
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
|
|
|
|
libVersion="0.7.0"
|
|
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
|
portVersionCompat="$portVersion compat >= 1"
|
|
|
|
PROVIDES="
|
|
opus$secondaryArchSuffix = $portVersionCompat
|
|
lib:libopus$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
opus${secondaryArchSuffix}_devel = $portVersionCompat
|
|
devel:libopus$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
opus$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:awk
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:ld$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:sed
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
local configureFlags
|
|
if [ "$effectiveTargetArchitecture" = x86_gcc2 ]; then
|
|
configureFlags=--disable-intrinsics
|
|
fi
|
|
runConfigure ./configure $configureFlags \
|
|
--enable-custom-modes --disable-stack-protector
|
|
make
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make install
|
|
|
|
# remove libtool library file
|
|
rm -f "$libDir"/libopus.la
|
|
|
|
prepareInstalledDevelLibs libopus
|
|
fixPkgconfig
|
|
|
|
packageEntries devel $developDir \
|
|
$dataDir
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
make check
|
|
}
|