No description
  • C 97.6%
  • Roff 1.9%
  • Makefile 0.3%
  • Shell 0.2%
Find a file
Christos Margiolis 7eba0d8569 virtual_oss: Remove floating point formats from preference list
virtual_oss(8) chooses formats based on preference lists (see
VPREFERRED_*) for each sample depth (-b option). However, if we, for
example, use 32 bits LE for the sample depth, what will end up happening
is that the format chosen will be 0x10001000, which corresponds to
AFMT_S32_LE *and* AFMT_F32_LE OR'd together. This happens because the
preference lists include both AFMT_S32_* and AFMT_F32_* in the 32-bit
cases.

Because we essentially end up using an invalid format, sound(4) will
eventually reach pcm_sample_write()'s (sys/dev/sound/pcm/pcm.h)
__assert_unreachable() case.

This patch is a temporary fix to address the panic, until a proper
solution for using floating point formats is found.

Fixes:		dd2e3b6 ("virtual_oss: Support AFMT_FLOAT")
PR:		289904
Sponsored by:	The FreeBSD Foundation
2025-09-30 15:29:32 +02:00
backend_bt virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
backend_null virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
backend_oss virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
backend_sndio virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
contrib/libsamplerate virtual_oss: add contrib/libsamplerate/COPYING for strict license compliance 2025-07-13 16:49:37 +00:00
rc.d virtual_oss: Clean up rc script 2025-07-17 21:44:17 +03:00
.gitignore virtual_oss: Add more files to .gitignore 2020-08-05 18:15:40 +02:00
audio_delay.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
backend.h virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
command.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
compressor.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
ctl.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
eq.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
equalizer.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
format.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
httpd.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
int.h virtual_oss: Remove floating point formats from preference list 2025-09-30 15:29:32 +02:00
main.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
Makefile virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
mul.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
README.md virtual_oss: Remove www/ 2025-07-14 17:53:34 +03:00
ring.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
utils.h virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
virtual_bt_speaker.8 virtual_bt_speaker.8: Fix mandoc -Tlint warnings 2025-02-12 20:23:18 +02:00
virtual_equalizer.8 virtual_equalizer.8: Fix mandoc -Tlint warnings 2025-02-12 20:24:31 +02:00
virtual_oss.8 virtual_oss: Retire -T option 2025-03-15 17:02:53 +01:00
virtual_oss.c virtual_oss: Get rid of unnecessary "virtual"s in filenames 2025-07-25 19:04:57 +03:00
virtual_oss.h virtual_oss: Implement VIRTUAL_OSS_GET_SYSTEM_INFO ioctl. 2022-02-28 14:54:36 +01:00
virtual_oss_cmd.8 virtual_oss_cmd.8: Fix mandoc -Tlint warnings 2025-02-12 20:28:44 +02:00

Virtual OSS

Virtual OSS is an audio mixing application that multiplexes and demultiplexes a single OSS device into multiple customizable OSS compatible devices using character devices in userspace, cuse(3). These devices can be used to record played back audio and mix the individual channels in multiple ways.

Virtual OSS also supports playback and recording using bluetooth audio devices.

Features

  • Resampling of audio
  • Per channel equalizer
  • Per channel compressor
  • Up to 64 mono channels
  • HTTP server support
  • RTP multicast streaming
  • Sndio support

How to build under FreeBSD

  • make all
  • make install

Dependencies

How to get help about the commandline parameters

virtual_oss -h

Privacy policy

Virtual OSS does not collect any information from its users.

Supported platforms