sound: Export hardware and software buffer sample rate in sndstat nvlist

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D49983
This commit is contained in:
Christos Margiolis 2025-04-25 18:55:38 +02:00
parent 0c0bb4c140
commit 19ec522d6d
3 changed files with 12 additions and 0 deletions

View file

@ -98,12 +98,14 @@ dsps (NVLIST ARRAY): 1
left_volume (NUMBER): 45
right_volume (NUMBER): 45
hwbuf_fmt (NUMBER): 0x200010
hwbuf_rate (NUMBER): 48000
hwbuf_size (NUMBER): 0
hwbuf_blksz (NUMBER): 0
hwbuf_blkcnt (NUMBER): 0
hwbuf_free (NUMBER): 0
hwbuf_ready (NUMBER): 0
swbuf_fmt (NUMBER): 0x201000
swbuf_rate (NUMBER): 48000
swbuf_size (NUMBER): 16384
swbuf_blksz (NUMBER): 2048
swbuf_blkcnt (NUMBER): 8
@ -226,6 +228,8 @@ Left volume.
Right volume.
.It Dv hwbuf_format
Hardware buffer format.
.It Dv hwbuf_rate
Hardware buffer sample rate;
.It Dv hwbuf_size
Hardware buffer size.
.It Dv hwbuf_blksz
@ -238,6 +242,8 @@ Free space in hardware buffer (in bytes).
Number of bytes ready to be read/written from hardware buffer.
.It Dv swbuf_format
Software buffer format.
.It Dv swbuf_rate
Software buffer sample rate;
.It Dv swbuf_size
Software buffer size.
.It Dv swbuf_blksz

View file

@ -493,6 +493,8 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip)
CHN_GETVOLUME(c, SND_VOL_C_PCM, SND_CHN_T_FR));
nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_FORMAT,
sndbuf_getfmt(c->bufhard));
nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_RATE,
sndbuf_getspd(c->bufhard));
nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_SIZE,
sndbuf_getsize(c->bufhard));
nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_BLKSZ,
@ -505,6 +507,8 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip)
sndbuf_getready(c->bufhard));
nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_FORMAT,
sndbuf_getfmt(c->bufsoft));
nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_RATE,
sndbuf_getspd(c->bufsoft));
nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_SIZE,
sndbuf_getsize(c->bufsoft));
nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_BLKSZ,

View file

@ -94,12 +94,14 @@ struct sndstioc_nv_arg {
#define SNDST_DSPS_SOUND4_CHAN_LEFTVOL "left_volume"
#define SNDST_DSPS_SOUND4_CHAN_RIGHTVOL "right_volume"
#define SNDST_DSPS_SOUND4_CHAN_HWBUF_FORMAT "hwbuf_format"
#define SNDST_DSPS_SOUND4_CHAN_HWBUF_RATE "hwbuf_rate"
#define SNDST_DSPS_SOUND4_CHAN_HWBUF_SIZE "hwbuf_size"
#define SNDST_DSPS_SOUND4_CHAN_HWBUF_BLKSZ "hwbuf_blksz"
#define SNDST_DSPS_SOUND4_CHAN_HWBUF_BLKCNT "hwbuf_blkcnt"
#define SNDST_DSPS_SOUND4_CHAN_HWBUF_FREE "hwbuf_free"
#define SNDST_DSPS_SOUND4_CHAN_HWBUF_READY "hwbuf_ready"
#define SNDST_DSPS_SOUND4_CHAN_SWBUF_FORMAT "swbuf_format"
#define SNDST_DSPS_SOUND4_CHAN_SWBUF_RATE "swbuf_rate"
#define SNDST_DSPS_SOUND4_CHAN_SWBUF_SIZE "swbuf_size"
#define SNDST_DSPS_SOUND4_CHAN_SWBUF_BLKSZ "swbuf_blksz"
#define SNDST_DSPS_SOUND4_CHAN_SWBUF_BLKCNT "swbuf_blkcnt"