git: 815dc35b7b5e - main - sound: Pass format and speed as arguments to sndbuf_create()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 08 Jul 2026 18:19:50 UTC
The branch main has been updated by christos:
URL: https://cgit.FreeBSD.org/src/commit/?id=815dc35b7b5ed694fc1986d054149e375b8a17bd
commit 815dc35b7b5ed694fc1986d054149e375b8a17bd
Author: Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2026-07-08 18:18:49 +0000
Commit: Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2026-07-08 18:18:49 +0000
sound: Pass format and speed as arguments to sndbuf_create()
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
---
sys/dev/sound/pcm/buffer.c | 5 ++++-
sys/dev/sound/pcm/buffer.h | 2 +-
sys/dev/sound/pcm/channel.c | 8 ++------
3 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/sys/dev/sound/pcm/buffer.c b/sys/dev/sound/pcm/buffer.c
index 86278a46a731..73f75716a198 100644
--- a/sys/dev/sound/pcm/buffer.c
+++ b/sys/dev/sound/pcm/buffer.c
@@ -46,7 +46,8 @@
#include "snd_fxdiv_gen.h"
struct snd_dbuf *
-sndbuf_create(struct pcm_channel *channel, const char *desc)
+sndbuf_create(struct pcm_channel *channel, u_int32_t fmt, u_int32_t spd,
+ const char *desc)
{
struct snd_dbuf *b;
@@ -54,6 +55,8 @@ sndbuf_create(struct pcm_channel *channel, const char *desc)
refcount_init(&b->refcount, 1);
snprintf(b->name, SNDBUF_NAMELEN, "%s:%s", channel->name, desc);
b->channel = channel;
+ sndbuf_setfmt(b, fmt);
+ sndbuf_setspd(b, spd);
return b;
}
diff --git a/sys/dev/sound/pcm/buffer.h b/sys/dev/sound/pcm/buffer.h
index fee41db2ff82..34f885db6609 100644
--- a/sys/dev/sound/pcm/buffer.h
+++ b/sys/dev/sound/pcm/buffer.h
@@ -60,7 +60,7 @@ struct snd_dbuf {
char name[SNDBUF_NAMELEN];
};
-struct snd_dbuf *sndbuf_create(struct pcm_channel *channel, const char *desc);
+struct snd_dbuf *sndbuf_create(struct pcm_channel *channel, u_int32_t fmt, u_int32_t spd, const char *desc);
void sndbuf_destroy(struct snd_dbuf *b);
void sndbuf_ref(struct snd_dbuf *b);
void sndbuf_rele(struct snd_dbuf *b);
diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c
index 40a08d48fb21..ff7620c772c3 100644
--- a/sys/dev/sound/pcm/channel.c
+++ b/sys/dev/sound/pcm/channel.c
@@ -1223,8 +1223,8 @@ chn_init(struct snddev_info *d, struct pcm_channel *parent, kobj_class_t cls,
chn_vpc_reset(c, SND_VOL_C_PCM, 1);
CHN_UNLOCK(c);
- b = sndbuf_create(c, "primary");
- bs = sndbuf_create(c, "secondary");
+ b = sndbuf_create(c, c->format, c->speed, "primary");
+ bs = sndbuf_create(c, c->format, c->speed, "secondary");
if (b == NULL || bs == NULL) {
device_printf(d->dev, "%s(): failed to create %s buffer\n",
__func__, b == NULL ? "hardware" : "software");
@@ -1246,10 +1246,6 @@ chn_init(struct snddev_info *d, struct pcm_channel *parent, kobj_class_t cls,
goto fail;
}
- sndbuf_setfmt(b, c->format);
- sndbuf_setspd(b, c->speed);
- sndbuf_setfmt(bs, c->format);
- sndbuf_setspd(bs, c->speed);
sndbuf_setup(bs, NULL, 0);
/**