Date: Tue, 11 Aug 2020 11:14:58 +0000 (UTC) From: Hans Petter Selasky <hselasky@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r544681 - in head/audio/virtual_oss: . files Message-ID: <202008111114.07BBEwCr010213@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: hselasky Date: Tue Aug 11 11:14:58 2020 New Revision: 544681 URL: https://svnweb.freebsd.org/changeset/ports/544681 Log: Update virtual_oss to 1.2.6 - Added support for configurable main output and recording level compressor. - Added support for simple HTTP streaming frontend. - Added system startup rc.d script. - Fixed a jitter bug. - Updated documentation. Approved by: pi (implicit) Added: head/audio/virtual_oss/files/ head/audio/virtual_oss/files/virtual_oss.in (contents, props changed) Modified: head/audio/virtual_oss/Makefile head/audio/virtual_oss/distinfo Modified: head/audio/virtual_oss/Makefile ============================================================================== --- head/audio/virtual_oss/Makefile Tue Aug 11 11:11:27 2020 (r544680) +++ head/audio/virtual_oss/Makefile Tue Aug 11 11:14:58 2020 (r544681) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= virtual_oss -PORTVERSION= 1.2.5 +PORTVERSION= 1.2.6 CATEGORIES= audio MASTER_SITES= http://www.selasky.org/hans_petter/distfiles/ \ http://home.selasky.org/distfiles/ @@ -15,8 +15,9 @@ LICENSE= BSD2CLAUSE LIB_DEPENDS= libsamplerate.so:audio/libsamplerate USES= tar:bzip2 uidfix +USE_RC_SUBR= virtual_oss -OPTIONS_DEFINE= BLUETOOTH BT_SPEAKER DEBUG EQUALIZER +OPTIONS_DEFINE= BLUETOOTH BT_SPEAKER DEBUG EQUALIZER HTTPD OPTIONS_DEFAULT=BLUETOOTH EQUALIZER MAKE_ARGS= HAVE_CUSE="YES" @@ -36,6 +37,9 @@ EQUALIZER_MAKE_ARGS= HAVE_EQUALIZER="YES" EQUALIZER_LIB_DEPENDS= libfftw3.so:math/fftw3 EQUALIZER_PLIST_FILES= sbin/virtual_equalizer \ man/man8/virtual_equalizer.8.gz + +HTTPD_DESC= Build with HTTP server support +HTTPD_MAKE_ARGS= HAVE_HTTPD="YES" PLIST_FILES= sbin/virtual_oss \ man/man8/virtual_oss.8.gz Modified: head/audio/virtual_oss/distinfo ============================================================================== --- head/audio/virtual_oss/distinfo Tue Aug 11 11:11:27 2020 (r544680) +++ head/audio/virtual_oss/distinfo Tue Aug 11 11:14:58 2020 (r544681) @@ -1,3 +1,3 @@ -TIMESTAMP = 1583245310 -SHA256 (virtual_oss-1.2.5.tar.bz2) = a6e1b66df121f4684113f9c9d560dc6faf8d1f793cd2098644f1a2b4f516fba9 -SIZE (virtual_oss-1.2.5.tar.bz2) = 46118 +TIMESTAMP = 1597143009 +SHA256 (virtual_oss-1.2.6.tar.bz2) = c17d28bf7abaecd9b190146f946bfdd9445baf064277db6c9acbded0bdc22ce2 +SIZE (virtual_oss-1.2.6.tar.bz2) = 53212 Added: head/audio/virtual_oss/files/virtual_oss.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/audio/virtual_oss/files/virtual_oss.in Tue Aug 11 11:14:58 2020 (r544681) @@ -0,0 +1,122 @@ +#!/bin/sh +# $FreeBSD$ +# +# PROVIDE: virtual_oss +# BEFORE: LOGIN sndiod +# KEYWORD: shutdown + +# +# Add the following lines to /etc/rc.conf.local, /etc/rc.conf or +# /etc/rc.conf.d/virtual_oss to enable this service: +# +# virtual_oss_enable (bool): Set to NO by default. +# Set it to "YES" to enable virtual_oss. +# virtual_oss_configs (string): List of configurations to use +# Default is "dsp" +# virtual_oss_dsp (string): Arguments passed to virtual_oss config named dsp +# Default is +# -T /dev/sndstat # register vdsp in sndstat +# -C 2 -c 2 # use two channels +# -S # resample if needed +# -i 8 # real-time priority +# -r 48000 # sample rate +# -b 24 # bit depth +# -s 1024 # buffer (can be 5.2ms) +# -f /dev/dsp0 # hardware device to use +# -d dsp # vdev to create +# -t dsp.ctl # control device + +. /etc/rc.subr + +name=virtual_oss +desc="Virtual OSS device manager" +rcvar=${name}_enable +start_precmd="${name}_precmd" +start_cmd="${name}_start" +stop_cmd="${name}_stop" +# required_modules="cuse" +virtual_oss_default_args="\ + -T /dev/sndstat \ + -S \ + -i 8 \ + -C 2 -c 2 \ + -r 48000 \ + -b 24 \ + -s 1024 \ + -f /dev/dsp0 \ + -c 2 \ + -d dsp \ + -t dsp.ctl" +configs= + +load_rc_config $name + +: ${virtual_oss_enable:="NO"} +: ${virtual_oss_configs:="dsp"} +: ${virtual_oss_dsp:="$virtual_oss_default_args"} +: ${virtual_oss_delay:=1} + +command="%%PREFIX%%/sbin/${name}" +command_args="-B" + +pidpath="/var/run/${name}" + +virtual_oss_precmd() +{ + /usr/bin/install -d -m 0755 -o root ${pidpath} +} + +start_instance() +{ + config=$* + instance_args=$(eval "echo \$virtual_oss_${config}") + if [ -z "${instance_args}" ]; then + echo "No such config ${config}" + else + echo -n "Starting Virtual OSS config ${config} ..." + ${command} \ + ${command_args} \ + -D ${pidpath}/${config}.pid \ + ${instance_args} + echo " done" + fi +} + +stop_instance() +{ + config=$* + instance_args=`eval "echo \$virtual_oss_${config}"` + if [ -z "${instance_args}" ]; then + echo "No such config ${config}" + elif [ -e "${pidpath}/${config}.pid" ]; then + pid=`check_pidfile ${pidpath}/${config}.pid ${command}` + if [ ! -z "${pid}" ]; then + echo -n "Stopping Virtual OSS config ${config} ... " + kill $pid + rm -f ${pidpath}/${config}.pid + echo "done" + fi + fi +} + +virtual_oss_start() +{ + configs=$* + [ -z "${configs}" ] && configs="${virtual_oss_configs}" + for config in ${configs}; do + start_instance $config + sleep ${virtual_oss_delay} + done +} + +virtual_oss_stop() +{ + configs=$* + [ -z "${configs}" ] && configs="${virtual_oss_configs}" + for config in ${configs}; do + stop_instance ${config} + sleep ${virtual_oss_delay} + done +} + +run_rc_command $*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008111114.07BBEwCr010213>