diff --git a/audio/virtual_oss/Makefile b/audio/virtual_oss/Makefile index 1ef0d50d6c09..8b7e3538386a 100644 --- a/audio/virtual_oss/Makefile +++ b/audio/virtual_oss/Makefile @@ -1,69 +1,68 @@ PORTNAME= virtual_oss DISTVERSIONPREFIX= v -DISTVERSION= 1.3.1 -PORTREVISION= 2 +DISTVERSION= 1.3.2 CATEGORIES= audio MAINTAINER= christos@FreeBSD.org COMMENT= Virtual OSS multi device mixer application WWW= https://github.com/freebsd/virtual_oss LICENSE= BSD2CLAUSE LIB_DEPENDS= libsamplerate.so:audio/libsamplerate USES= uidfix USE_RC_SUBR= virtual_oss USE_GITHUB= yes GH_ACCOUNT= freebsd SUB_LIST+= LIBSAMPLERATE="${LOCALBASE}/lib/libsamplerate.so:" OPTIONS_DEFINE= BLUETOOTH BT_SPEAKER COMMAND DEBUG EQUALIZER HTTPD SNDIO OPTIONS_DEFAULT=BLUETOOTH BT_SPEAKER COMMAND EQUALIZER .if exists(/usr/include/sys/sndstat.h) MAKE_ARGS+= HAVE_SNDSTAT="YES" .endif BLUETOOTH_DESC= Build with bluetooth support BLUETOOTH_MAKE_ARGS= HAVE_BLUETOOTH="YES" BT_SPEAKER_DESC= Build with bluetooth speaker utility BT_SPEAKER_PLIST_FILES= sbin/virtual_bt_speaker \ share/man/man8/virtual_bt_speaker.8.gz BT_SPEAKER_MAKE_ARGS= HAVE_BLUETOOTH_SPEAKER="YES" COMMAND_DESC= Build with command utility COMMAND_MAKE_ARGS= HAVE_COMMAND="YES" COMMAND_PLIST_FILES= sbin/virtual_oss_cmd \ share/man/man8/virtual_oss_cmd.8.gz DEBUG_MAKE_ARGS= HAVE_DEBUG="YES" EQUALIZER_DESC= Build with equalizer utility EQUALIZER_MAKE_ARGS= HAVE_EQUALIZER="YES" EQUALIZER_LIB_DEPENDS= libfftw3.so:math/fftw3 EQUALIZER_PLIST_FILES= sbin/virtual_equalizer \ share/man/man8/virtual_equalizer.8.gz EQUALIZER_SUB_LIST= LIBFFTW3="${LOCALBASE}/lib/libfftw3.so:" EQUALIZER_SUB_LIST_OFF= LIBFFTW3="" HTTPD_DESC= Build with HTTP server support HTTPD_MAKE_ARGS= HAVE_HTTPD="YES" SNDIO_DESC= Build with sndio(7) backend support SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_MAKE_ARGS= HAVE_SNDIO="YES" PLIST_FILES= sbin/virtual_oss \ share/man/man8/virtual_oss.8.gz MAKE_ARGS+= PTHREAD_LIBS="-lpthread" post-patch: ${REINPLACE_CMD} -e 's|$${PREFIX}/man/man|$${PREFIX}/share/man/man|' \ ${WRKSRC}/Makefile .include diff --git a/audio/virtual_oss/distinfo b/audio/virtual_oss/distinfo index b84914e221ab..906f467b2282 100644 --- a/audio/virtual_oss/distinfo +++ b/audio/virtual_oss/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1712313931 -SHA256 (freebsd-virtual_oss-v1.3.1_GH0.tar.gz) = d4aa8a1b1362c7d0f1f5478545871da5334717965a6ed351266b993d934d8912 -SIZE (freebsd-virtual_oss-v1.3.1_GH0.tar.gz) = 72082 +TIMESTAMP = 1742585865 +SHA256 (freebsd-virtual_oss-v1.3.2_GH0.tar.gz) = eeb50760b963345d7b5684c3ee4f5d44070cb9572fc8c82d1d63e5844e24dfe7 +SIZE (freebsd-virtual_oss-v1.3.2_GH0.tar.gz) = 71906 diff --git a/audio/virtual_oss/files/virtual_oss.in b/audio/virtual_oss/files/virtual_oss.in index a9335ea14d9d..703e9ae79129 100644 --- a/audio/virtual_oss/files/virtual_oss.in +++ b/audio/virtual_oss/files/virtual_oss.in @@ -1,149 +1,147 @@ #!/bin/sh # PROVIDE: virtual_oss # REQUIRE: kld # 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 8.0ms # buffer delay # -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" status_cmd="${name}_status" required_modules="cuse" virtual_oss_default_args="\ - -T /dev/sndstat \ -S \ -i 8 \ -C 2 -c 2 \ -r 48000 \ -b 24 \ -s 8.0ms \ -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=virtual_oss command_args="-B" pidpath="/var/run/${name}" virtual_oss() { # When running early we need to pre-load some libraries env LD_PRELOAD=%%LIBFFTW3%%%%LIBSAMPLERATE%% %%PREFIX%%/sbin/virtual_oss $* } virtual_oss_pids() { pids=$(pgrep -d ' ' $name) pids=${pids% } printf "${pids}" } 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 %%PREFIX%%/sbin/virtual_oss` 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 } virtual_oss_status() { pids=$(virtual_oss_pids) if [ "${pids}" ]; then echo "${name} is running as pid ${pids}." else echo "${name} is not running." return 1 fi } run_rc_command $*