aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/sound/pcm/feeder_mixer.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sound/pcm/feeder_mixer.c')
-rw-r--r--sys/dev/sound/pcm/feeder_mixer.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c
index b6b81ad9a51c..10de42ba727a 100644
--- a/sys/dev/sound/pcm/feeder_mixer.c
+++ b/sys/dev/sound/pcm/feeder_mixer.c
@@ -145,8 +145,8 @@ feed_mixer_rec(struct pcm_channel *c)
b = c->bufsoft;
b->rp = 0;
b->rl = 0;
- cnt = sndbuf_getsize(b);
- maxfeed = SND_FXROUND(SND_FXDIV_MAX, sndbuf_getalign(b));
+ cnt = b->bufsize;
+ maxfeed = SND_FXROUND(SND_FXDIV_MAX, b->align);
do {
cnt = FEEDER_FEED(c->feeder->source, c, b->tmpbuf,
@@ -158,7 +158,7 @@ feed_mixer_rec(struct pcm_channel *c)
} while (cnt != 0);
/* Not enough data */
- if (b->rl < sndbuf_getalign(b)) {
+ if (b->rl < b->align) {
b->rl = 0;
return (0);
}
@@ -187,11 +187,11 @@ feed_mixer_rec(struct pcm_channel *c)
if (ch->flags & CHN_F_MMAP)
sndbuf_dispose(bs, NULL, sndbuf_getready(bs));
cnt = sndbuf_getfree(bs);
- if (cnt < sndbuf_getalign(bs)) {
+ if (cnt < bs->align) {
CHN_UNLOCK(ch);
continue;
}
- maxfeed = SND_FXROUND(SND_FXDIV_MAX, sndbuf_getalign(bs));
+ maxfeed = SND_FXROUND(SND_FXDIV_MAX, bs->align);
do {
cnt = FEEDER_FEED(ch->feeder, ch, bs->tmpbuf,
min(cnt, maxfeed), b);
@@ -244,7 +244,7 @@ feed_mixer_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b,
if (c->direction == PCMDIR_REC)
return (feed_mixer_rec(c));
- sz = sndbuf_getsize(src);
+ sz = src->bufsize;
if (sz < count)
count = sz;
@@ -260,7 +260,7 @@ feed_mixer_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b,
* list of children and calling mixer function to mix count bytes from
* each into our destination buffer, b.
*/
- tmp = sndbuf_getbuf(src);
+ tmp = src->buf;
rcnt = 0;
mcnt = 0;
passthrough = 0; /* 'passthrough' / 'exclusive' marker */
@@ -358,11 +358,6 @@ feed_mixer_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b,
return (rcnt);
}
-static struct pcm_feederdesc feeder_mixer_desc[] = {
- { FEEDER_MIXER, 0, 0, 0, 0 },
- { 0, 0, 0, 0, 0 }
-};
-
static kobj_method_t feeder_mixer_methods[] = {
KOBJMETHOD(feeder_init, feed_mixer_init),
KOBJMETHOD(feeder_free, feed_mixer_free),
@@ -371,4 +366,4 @@ static kobj_method_t feeder_mixer_methods[] = {
KOBJMETHOD_END
};
-FEEDER_DECLARE(feeder_mixer, NULL);
+FEEDER_DECLARE(feeder_mixer, FEEDER_MIXER);