New port: net/mediastreamer

Mediastreamer2 is a powerful and lightweight streaming engine specialized
in voice/video telephony applications.

It is the library that is responsible for all the receiving and sending of
multimedia streams in linphone, including voice/video capture, encoding and
decoding, and rendering.
This commit is contained in:
Tijl Coosemans 2014-07-11 15:52:23 +00:00
parent ad334eeff1
commit 13d4d5d91d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=361557
7 changed files with 198 additions and 0 deletions

View file

@ -360,6 +360,7 @@
SUBDIR += mad_fcl SUBDIR += mad_fcl
SUBDIR += mcast-tools SUBDIR += mcast-tools
SUBDIR += mediaproxy SUBDIR += mediaproxy
SUBDIR += mediastreamer
SUBDIR += mediatomb SUBDIR += mediatomb
SUBDIR += mgen SUBDIR += mgen
SUBDIR += micro_inetd SUBDIR += micro_inetd

View file

@ -0,0 +1,87 @@
# Created by: Maxim Sobolev <sobomax@FreeBSD.org>
# $FreeBSD$
PORTNAME= mediastreamer
PORTVERSION= 2.10.0
CATEGORIES= net
MASTER_SITES= SAVANNAH/linphone/mediastreamer
MAINTAINER= ports@FreeBSD.org
COMMENT= Real-time audio and video streaming and processing
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libortp.so:${PORTSDIR}/net/ortp
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-alsa --disable-glx --disable-pulseaudio \
--disable-silent-rules --disable-strict \
--with-gsm=${LOCALBASE} xxd_found=yes
CPPFLAGS+= -I${LOCALBASE}/include
LIBS+= -L${LOCALBASE}/lib
INSTALL_TARGET= install-strip
USES= gmake libtool pathfix pkgconfig
USE_GNOME= gnomehier
USE_LDCONFIG= yes
OPTIONS_DEFINE= IPV6 NLS UPNP VIDEO
OPTIONS_GROUP= AUDIOOPT VIDEOOPT
OPTIONS_GROUP_AUDIOOPT= GSM OPUS SPANDSP SPEEX
OPTIONS_GROUP_VIDEOOPT= FFMPEG THEORA V4L VPX XVIDEO
OPTIONS_DEFAULT= UPNP VIDEO \
GSM OPUS SPANDSP SPEEX \
FFMPEG THEORA V4L VPX XVIDEO
AUDIOOPT_DESC= Audio options
FFMPEG_CONFIGURE_ENABLE=ffmpeg
FFMPEG_LIB_DEPENDS= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
GSM_CONFIGURE_ENABLE= gsm
GSM_LIB_DEPENDS= libgsm.so:${PORTSDIR}/audio/gsm
IPV6_CONFIGURE_ENABLE= ipv6
NLS_CONFIGURE_ENABLE= nls
NLS_USES= gettext
NLS_USE= GNOME=intltool
OPUS_CONFIGURE_ENABLE= opus
OPUS_LIB_DEPENDS= libopus.so:${PORTSDIR}/audio/opus
SPANDSP_CONFIGURE_ENABLE= spandsp
SPANDSP_LIB_DEPENDS= libspandsp.so:${PORTSDIR}/comms/spandsp-devel
SPEEX_CONFIGURE_ENABLE= speex
SPEEX_LIB_DEPENDS= libspeex.so:${PORTSDIR}/audio/speex
THEORA_CONFIGURE_ENABLE=theora
THEORA_LIB_DEPENDS= libtheora.so:${PORTSDIR}/multimedia/libtheora
UPNP_CONFIGURE_ENABLE= upnp
UPNP_LIB_DEPENDS= libupnp.so:${PORTSDIR}/devel/upnp
V4L_CONFIGURE_ENABLE= libv4l1 libv4l2
V4L_BUILD_DEPENDS= v4l_compat>=1.0.20120501:${PORTSDIR}/multimedia/v4l_compat
V4L_LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
VIDEOOPT_DESC= Video options
VIDEO_CONFIGURE_ENABLE= video
VPX_CONFIGURE_ENABLE= vp8
VPX_LIB_DEPENDS= libvpx.so:${PORTSDIR}/multimedia/libvpx
XVIDEO_CONFIGURE_ENABLE=x11 xv
XVIDEO_USE= XORG=videoproto,x11,xv
.if defined(WITH_DEBUG) && !defined(WITHOUT_DEBUG)
CONFIGURE_ARGS+=--enable-debug
.endif
post-patch:
@${REINPLACE_CMD} 's,gsm/gsm\.h,gsm.h,' \
${WRKSRC}/configure ${WRKSRC}/src/audiofilters/gsm.c
.include <bsd.port.mk>

View file

@ -0,0 +1,2 @@
SHA256 (mediastreamer-2.10.0.tar.gz) = 808d87c47b7e4c79698765894cbde74575011059b33a76280aa567f099dce1ea
SIZE (mediastreamer-2.10.0.tar.gz) = 3604794

View file

@ -0,0 +1,11 @@
--- src/base/mscommon.c.orig 2014-02-19 12:07:16.569961000 +0100
+++ src/base/mscommon.c 2014-07-11 10:07:30.000000000 +0200
@@ -512,7 +512,7 @@
GetSystemInfo( &sysinfo );
num_cpu = sysinfo.dwNumberOfProcessors;
-#elif __APPLE__ || __linux
+#elif __APPLE__ || __linux || __FreeBSD__
num_cpu = sysconf( _SC_NPROCESSORS_ONLN );
#elif __QNX__
num_cpu = _syspage_ptr->num_cpu;

View file

@ -0,0 +1,11 @@
--- src/utils/dsptools.c.orig 2013-01-14 16:13:45.000000000 +0100
+++ src/utils/dsptools.c 2014-07-11 10:34:30.000000000 +0200
@@ -61,7 +61,7 @@
#ifdef HAVE_ALLOCA_H
#include <alloca.h>
#else
-#if !defined(__APPLE__)
+#if !defined(__APPLE__) && !defined(__FreeBSD__)
#include <malloc.h>
#endif
#endif

View file

@ -0,0 +1,28 @@
Mediastreamer2 is a powerful and lightweight streaming engine specialized
in voice/video telephony applications.
It is the library that is responsible for all the receiving and sending of
multimedia streams in linphone, including voice/video capture, encoding and
decoding, and rendering.
Features:
* Capture and playback from various platform dependent sound architectures
* Send and receive RTP streams
* Encode and decode the following audio formats: speex, G711, GSM, iLBC,
AMR, AMR-WB, G722, SILK, G729, and video formats H263, theora, MPEG4,
H264 and VP8
* Read and write .wav files
* Read YUV pictures from a camera based on platform dependents APIs
* Optimized rendering of YUV pictures
* Dual tones generation
* Custom tone detector
* Echo cancelation, based on speex library or webrtc AEC on android
* Audio conferencing
* Audio parametric equalizer
* Volume control, automatic gain control
* ICE for optimized NAT traversal
* Adaptive bitrate control algorithm: for automatic adaption of encoder
bitrate based on received RTCP feedback
WWW: http://www.linphone.org/eng/documentation/dev/mediastreamer2.html

View file

@ -0,0 +1,58 @@
bin/mediastream
include/mediastreamer2/allfilters.h
include/mediastreamer2/bitratecontrol.h
include/mediastreamer2/dsptools.h
include/mediastreamer2/dtmfgen.h
include/mediastreamer2/ice.h
include/mediastreamer2/mediastream.h
include/mediastreamer2/msaudiomixer.h
include/mediastreamer2/mschanadapter.h
include/mediastreamer2/mscodecutils.h
include/mediastreamer2/mscommon.h
include/mediastreamer2/msconference.h
include/mediastreamer2/msequalizer.h
include/mediastreamer2/mseventqueue.h
include/mediastreamer2/msextdisplay.h
include/mediastreamer2/msfileplayer.h
include/mediastreamer2/msfilerec.h
include/mediastreamer2/msfilter.h
include/mediastreamer2/msinterfaces.h
include/mediastreamer2/msitc.h
include/mediastreamer2/msjava.h
include/mediastreamer2/msjpegwriter.h
include/mediastreamer2/msqueue.h
include/mediastreamer2/msrtp.h
include/mediastreamer2/mssndcard.h
include/mediastreamer2/mstee.h
include/mediastreamer2/msticker.h
include/mediastreamer2/mstonedetector.h
include/mediastreamer2/msv4l.h
include/mediastreamer2/msvideo.h
include/mediastreamer2/msvideoout.h
include/mediastreamer2/msvolume.h
include/mediastreamer2/mswebcam.h
include/mediastreamer2/qualityindicator.h
include/mediastreamer2/rfc3984.h
include/mediastreamer2/upnp_igd.h
lib/libmediastreamer_base.so
lib/libmediastreamer_base.so.3
lib/libmediastreamer_base.so.3.0.0
lib/libmediastreamer_voip.so
lib/libmediastreamer_voip.so.3
lib/libmediastreamer_voip.so.3.0.0
libdata/pkgconfig/mediastreamer.pc
share/images/nowebcamCIF.jpg
%%NLS%%share/locale/cs/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/de/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/es/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/fr/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/hu/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/it/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/ja/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/nl/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/pl/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/ru/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/sv/LC_MESSAGES/mediastreamer.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/mediastreamer.mo
@dirrmtry include/mediastreamer2