Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F148523012
D54103.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
9 KB
Referenced Files
None
Subscribers
None
D54103.id.diff
View Options
diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h
--- a/sys/dev/sound/pcm/feeder.h
+++ b/sys/dev/sound/pcm/feeder.h
@@ -51,7 +51,7 @@
struct pcm_feeder {
KOBJ_FIELDS;
int align;
- struct pcm_feederdesc *desc, desc_static;
+ struct pcm_feederdesc desc;
void *data;
struct feeder_class *class;
struct pcm_feeder *source, *parent;
diff --git a/sys/dev/sound/pcm/feeder.c b/sys/dev/sound/pcm/feeder.c
--- a/sys/dev/sound/pcm/feeder.c
+++ b/sys/dev/sound/pcm/feeder.c
@@ -75,9 +75,8 @@
return NULL;
f->class = fc;
- f->desc = &(f->desc_static);
if (desc != NULL)
- *(f->desc) = *desc;
+ f->desc = *desc;
err = FEEDER_INIT(f);
if (err) {
diff --git a/sys/dev/sound/pcm/feeder_chain.c b/sys/dev/sound/pcm/feeder_chain.c
--- a/sys/dev/sound/pcm/feeder_chain.c
+++ b/sys/dev/sound/pcm/feeder_chain.c
@@ -473,8 +473,8 @@
c->feederflags |= 1 << FEEDER_ROOT;
- c->feeder->desc->in = cdesc->current.afmt;
- c->feeder->desc->out = cdesc->current.afmt;
+ c->feeder->desc.in = cdesc->current.afmt;
+ c->feeder->desc.out = cdesc->current.afmt;
return (0);
}
diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c
--- a/sys/dev/sound/pcm/feeder_eq.c
+++ b/sys/dev/sound/pcm/feeder_eq.c
@@ -275,16 +275,16 @@
{
struct feed_eq_info *info;
- if (f->desc->in != f->desc->out)
+ if (f->desc.in != f->desc.out)
return (EINVAL);
info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
if (info == NULL)
return (ENOMEM);
- info->fmt = AFMT_ENCODING(f->desc->in);
- info->channels = AFMT_CHANNEL(f->desc->in);
- info->align = info->channels * AFMT_BPS(f->desc->in);
+ info->fmt = AFMT_ENCODING(f->desc.in);
+ info->channels = AFMT_CHANNEL(f->desc.in);
+ info->align = info->channels * AFMT_BPS(f->desc.in);
info->rate = FEEDEQ_RATE_MIN;
info->treble.gain = FEEDEQ_L2GAIN(50);
@@ -309,7 +309,7 @@
if (value < SND_CHN_MIN || value > SND_CHN_MAX)
return (EINVAL);
info->channels = (uint32_t)value;
- info->align = info->channels * AFMT_BPS(f->desc->in);
+ info->align = info->channels * AFMT_BPS(f->desc.in);
feed_eq_reset(info);
break;
case FEEDEQ_RATE:
diff --git a/sys/dev/sound/pcm/feeder_format.c b/sys/dev/sound/pcm/feeder_format.c
--- a/sys/dev/sound/pcm/feeder_format.c
+++ b/sys/dev/sound/pcm/feeder_format.c
@@ -61,23 +61,23 @@
{
struct feed_format_info *info;
- if (f->desc->in == f->desc->out ||
- AFMT_CHANNEL(f->desc->in) != AFMT_CHANNEL(f->desc->out))
+ if (f->desc.in == f->desc.out ||
+ AFMT_CHANNEL(f->desc.in) != AFMT_CHANNEL(f->desc.out))
return (EINVAL);
info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
if (info == NULL)
return (ENOMEM);
- info->channels = AFMT_CHANNEL(f->desc->in);
+ info->channels = AFMT_CHANNEL(f->desc.in);
- info->ibps = AFMT_BPS(f->desc->in);
+ info->ibps = AFMT_BPS(f->desc.in);
info->ialign = info->ibps * info->channels;
- info->rdfmt = AFMT_ENCODING(f->desc->in);
+ info->rdfmt = AFMT_ENCODING(f->desc.in);
- info->obps = AFMT_BPS(f->desc->out);
+ info->obps = AFMT_BPS(f->desc.out);
info->oalign = info->obps * info->channels;
- info->wrfmt = AFMT_ENCODING(f->desc->out);
+ info->wrfmt = AFMT_ENCODING(f->desc.out);
f->data = info;
diff --git a/sys/dev/sound/pcm/feeder_matrix.c b/sys/dev/sound/pcm/feeder_matrix.c
--- a/sys/dev/sound/pcm/feeder_matrix.c
+++ b/sys/dev/sound/pcm/feeder_matrix.c
@@ -283,15 +283,15 @@
struct pcmchan_matrix *m_in, *m_out;
int ret;
- if (AFMT_ENCODING(f->desc->in) != AFMT_ENCODING(f->desc->out))
+ if (AFMT_ENCODING(f->desc.in) != AFMT_ENCODING(f->desc.out))
return (EINVAL);
info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
if (info == NULL)
return (ENOMEM);
- info->in = f->desc->in;
- info->out = f->desc->out;
+ info->in = f->desc.in;
+ info->out = f->desc.out;
info->fmt = AFMT_ENCODING(info->in);
info->bps = AFMT_BPS(info->in);
info->ialign = AFMT_ALIGN(info->in);
@@ -413,8 +413,7 @@
struct pcmchan_matrix *m_out)
{
- if (f == NULL || f->desc == NULL || f->class->type != FEEDER_MATRIX ||
- f->data == NULL)
+ if (f == NULL || f->class->type != FEEDER_MATRIX || f->data == NULL)
return (EINVAL);
return (feed_matrix_setup(f->data, m_in, m_out));
diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c
--- a/sys/dev/sound/pcm/feeder_mixer.c
+++ b/sys/dev/sound/pcm/feeder_mixer.c
@@ -78,16 +78,16 @@
{
struct feed_mixer_info *info;
- if (f->desc->in != f->desc->out)
+ if (f->desc.in != f->desc.out)
return (EINVAL);
info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
if (info == NULL)
return (ENOMEM);
- info->format = AFMT_ENCODING(f->desc->in);
- info->channels = AFMT_CHANNEL(f->desc->in);
- info->bps = AFMT_BPS(f->desc->in);
+ info->format = AFMT_ENCODING(f->desc.in);
+ info->channels = AFMT_CHANNEL(f->desc.in);
+ info->bps = AFMT_BPS(f->desc.in);
f->data = info;
@@ -321,7 +321,7 @@
if (mcnt != 0) {
memset(b + rcnt,
sndbuf_zerodata(
- f->desc->out), mcnt);
+ f->desc.out), mcnt);
mcnt = 0;
}
switch (info->format) {
diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c
--- a/sys/dev/sound/pcm/feeder_rate.c
+++ b/sys/dev/sound/pcm/feeder_rate.c
@@ -1109,7 +1109,7 @@
if (!(Z_FACTOR_SAFE(info->z_gx) && Z_FACTOR_SAFE(info->z_gy)))
return (EINVAL);
- format = f->desc->in;
+ format = f->desc.in;
adaptive = 0;
z_scale = 0;
@@ -1344,7 +1344,7 @@
/*
* Zero out head of buffer to avoid pops and clicks.
*/
- memset(info->z_delay, sndbuf_zerodata(f->desc->out),
+ memset(info->z_delay, sndbuf_zerodata(f->desc.out),
info->z_pos * align);
#ifdef Z_DIAGNOSTIC
@@ -1508,7 +1508,7 @@
struct z_info *info;
int ret;
- if (f->desc->in != f->desc->out)
+ if (f->desc.in != f->desc.out)
return (EINVAL);
info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
@@ -1518,7 +1518,7 @@
info->rsrc = Z_RATE_DEFAULT;
info->rdst = Z_RATE_DEFAULT;
info->quality = feeder_rate_quality;
- info->channels = AFMT_CHANNEL(f->desc->in);
+ info->channels = AFMT_CHANNEL(f->desc.in);
f->data = info;
diff --git a/sys/dev/sound/pcm/feeder_volume.c b/sys/dev/sound/pcm/feeder_volume.c
--- a/sys/dev/sound/pcm/feeder_volume.c
+++ b/sys/dev/sound/pcm/feeder_volume.c
@@ -151,20 +151,20 @@
uint32_t i;
int ret;
- if (f->desc->in != f->desc->out ||
- AFMT_CHANNEL(f->desc->in) > SND_CHN_MAX)
+ if (f->desc.in != f->desc.out ||
+ AFMT_CHANNEL(f->desc.in) > SND_CHN_MAX)
return (EINVAL);
for (i = 0; i < FEEDVOLUME_TAB_SIZE; i++) {
- if (AFMT_ENCODING(f->desc->in) ==
+ if (AFMT_ENCODING(f->desc.in) ==
feed_volume_info_tab[i].format) {
info = malloc(sizeof(*info), M_DEVBUF,
M_NOWAIT | M_ZERO);
if (info == NULL)
return (ENOMEM);
- info->bps = AFMT_BPS(f->desc->in);
- info->channels = AFMT_CHANNEL(f->desc->in);
+ info->bps = AFMT_BPS(f->desc.in);
+ info->channels = AFMT_CHANNEL(f->desc.in);
info->apply = feed_volume_info_tab[i].apply;
info->volume_class = SND_VOL_C_PCM;
info->state = FEEDVOLUME_ENABLE;
@@ -332,8 +332,8 @@
struct feed_volume_info *info;
uint32_t i;
- if (f == NULL || f->desc == NULL || f->class->type != FEEDER_VOLUME ||
- f->data == NULL || m == NULL || m->channels < SND_CHN_MIN ||
+ if (f == NULL || f->class->type != FEEDER_VOLUME || f->data == NULL ||
+ m == NULL || m->channels < SND_CHN_MIN ||
m->channels > SND_CHN_MAX)
return (EINVAL);
diff --git a/sys/dev/sound/pcm/sndstat.c b/sys/dev/sound/pcm/sndstat.c
--- a/sys/dev/sound/pcm/sndstat.c
+++ b/sys/dev/sound/pcm/sndstat.c
@@ -534,24 +534,24 @@
while (f != NULL) {
sbuf_printf(&sb, "%s", f->class->name);
if (f->class->type == FEEDER_FORMAT) {
- snd_afmt2str(f->desc->in, buf, sizeof(buf));
+ snd_afmt2str(f->desc.in, buf, sizeof(buf));
sbuf_printf(&sb, "(%s -> ", buf);
- snd_afmt2str(f->desc->out, buf, sizeof(buf));
+ snd_afmt2str(f->desc.out, buf, sizeof(buf));
sbuf_printf(&sb, "%s)", buf);
} else if (f->class->type == FEEDER_MATRIX) {
sbuf_printf(&sb, "(%d.%dch -> %d.%dch)",
- AFMT_CHANNEL(f->desc->in) -
- AFMT_EXTCHANNEL(f->desc->in),
- AFMT_EXTCHANNEL(f->desc->in),
- AFMT_CHANNEL(f->desc->out) -
- AFMT_EXTCHANNEL(f->desc->out),
- AFMT_EXTCHANNEL(f->desc->out));
+ AFMT_CHANNEL(f->desc.in) -
+ AFMT_EXTCHANNEL(f->desc.in),
+ AFMT_EXTCHANNEL(f->desc.in),
+ AFMT_CHANNEL(f->desc.out) -
+ AFMT_EXTCHANNEL(f->desc.out),
+ AFMT_EXTCHANNEL(f->desc.out));
} else if (f->class->type == FEEDER_RATE) {
sbuf_printf(&sb, "(%d -> %d)",
FEEDER_GET(f, FEEDRATE_SRC),
FEEDER_GET(f, FEEDRATE_DST));
} else {
- snd_afmt2str(f->desc->out, buf, sizeof(buf));
+ snd_afmt2str(f->desc.out, buf, sizeof(buf));
sbuf_printf(&sb, "(%s)", buf);
}
sbuf_printf(&sb, " -> ");
@@ -1330,25 +1330,25 @@
sbuf_printf(s, "%s", f->class->name);
if (f->class->type == FEEDER_FORMAT) {
sbuf_printf(s, "(0x%08x -> 0x%08x)",
- f->desc->in, f->desc->out);
+ f->desc.in, f->desc.out);
} else if (f->class->type == FEEDER_MATRIX) {
sbuf_printf(s, "(%d.%d -> %d.%d)",
- AFMT_CHANNEL(f->desc->in) -
- AFMT_EXTCHANNEL(f->desc->in),
- AFMT_EXTCHANNEL(f->desc->in),
- AFMT_CHANNEL(f->desc->out) -
- AFMT_EXTCHANNEL(f->desc->out),
- AFMT_EXTCHANNEL(f->desc->out));
+ AFMT_CHANNEL(f->desc.in) -
+ AFMT_EXTCHANNEL(f->desc.in),
+ AFMT_EXTCHANNEL(f->desc.in),
+ AFMT_CHANNEL(f->desc.out) -
+ AFMT_EXTCHANNEL(f->desc.out),
+ AFMT_EXTCHANNEL(f->desc.out));
} else if (f->class->type == FEEDER_RATE) {
sbuf_printf(s,
"(0x%08x q:%d %d -> %d)",
- f->desc->out,
+ f->desc.out,
FEEDER_GET(f, FEEDRATE_QUALITY),
FEEDER_GET(f, FEEDRATE_SRC),
FEEDER_GET(f, FEEDRATE_DST));
} else {
sbuf_printf(s, "(0x%08x)",
- f->desc->out);
+ f->desc.out);
}
sbuf_printf(s, " -> ");
f = f->parent;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Mar 19, 11:09 AM (8 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29961516
Default Alt Text
D54103.id.diff (9 KB)
Attached To
Mode
D54103: sound: Retire pcm_feeder->desc_static
Attached
Detach File
Event Timeline
Log In to Comment