sndstat.c (a6283717577066b0ff6c62053145470ff4134051) sndstat.c (bd5bcc848c5764229926ad27a4bd77af4f87d189)
1/*-
2 * SPDX-License-Identifier: BSD-2-Clause
3 *
4 * Copyright (c) 2005-2009 Ariff Abdullah <ariff@FreeBSD.org>
5 * Copyright (c) 2001 Cameron Grant <cg@FreeBSD.org>
6 * Copyright (c) 2020 The FreeBSD Foundation
7 * All rights reserved.
8 * Copyright (c) 2024 The FreeBSD Foundation

--- 371 unchanged lines hidden (view full) ---

380}
381
382static int
383sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip)
384{
385 struct pcm_channel *c;
386 struct pcm_feeder *f;
387 struct sbuf sb;
1/*-
2 * SPDX-License-Identifier: BSD-2-Clause
3 *
4 * Copyright (c) 2005-2009 Ariff Abdullah <ariff@FreeBSD.org>
5 * Copyright (c) 2001 Cameron Grant <cg@FreeBSD.org>
6 * Copyright (c) 2020 The FreeBSD Foundation
7 * All rights reserved.
8 * Copyright (c) 2024 The FreeBSD Foundation

--- 371 unchanged lines hidden (view full) ---

380}
381
382static int
383sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip)
384{
385 struct pcm_channel *c;
386 struct pcm_feeder *f;
387 struct sbuf sb;
388 uint32_t maxrate, minrate, fmts, minchn, maxchn;
388 uint32_t maxrate, minrate, fmts, minchn, maxchn, caps;
389 nvlist_t *di = NULL, *sound4di = NULL, *diinfo = NULL, *cdi = NULL;
390 int err, nchan;
391
392 di = nvlist_create(0);
393 if (di == NULL) {
394 err = ENOMEM;
395 goto done;
396 }

--- 65 unchanged lines hidden (view full) ---

462 sbuf_delete(&sb);
463 PCM_RELEASE_QUICK(d);
464 err = ENOMEM;
465 goto done;
466 }
467
468 CHN_LOCK(c);
469
389 nvlist_t *di = NULL, *sound4di = NULL, *diinfo = NULL, *cdi = NULL;
390 int err, nchan;
391
392 di = nvlist_create(0);
393 if (di == NULL) {
394 err = ENOMEM;
395 goto done;
396 }

--- 65 unchanged lines hidden (view full) ---

462 sbuf_delete(&sb);
463 PCM_RELEASE_QUICK(d);
464 err = ENOMEM;
465 goto done;
466 }
467
468 CHN_LOCK(c);
469
470 caps = PCM_CAP_REALTIME | PCM_CAP_MMAP | PCM_CAP_TRIGGER |
471 ((c->flags & CHN_F_VIRTUAL) ? PCM_CAP_VIRTUAL : 0) |
472 ((c->direction == PCMDIR_PLAY) ? PCM_CAP_OUTPUT : PCM_CAP_INPUT);
473
470 nvlist_add_string(cdi, SNDST_DSPS_SOUND4_CHAN_NAME, c->name);
471 nvlist_add_string(cdi, SNDST_DSPS_SOUND4_CHAN_PARENTCHAN,
472 c->parentchannel != NULL ? c->parentchannel->name : "");
473 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_UNIT, nchan++);
474 nvlist_add_string(cdi, SNDST_DSPS_SOUND4_CHAN_NAME, c->name);
475 nvlist_add_string(cdi, SNDST_DSPS_SOUND4_CHAN_PARENTCHAN,
476 c->parentchannel != NULL ? c->parentchannel->name : "");
477 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_UNIT, nchan++);
478 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_CAPS, caps);
474 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_LATENCY,
475 c->latency);
476 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_RATE, c->speed);
477 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_FORMAT,
478 c->format);
479 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_PID, c->pid);
480 nvlist_add_string(cdi, SNDST_DSPS_SOUND4_CHAN_COMM, c->comm);
481 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_INTR,

--- 950 unchanged lines hidden ---
479 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_LATENCY,
480 c->latency);
481 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_RATE, c->speed);
482 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_FORMAT,
483 c->format);
484 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_PID, c->pid);
485 nvlist_add_string(cdi, SNDST_DSPS_SOUND4_CHAN_COMM, c->comm);
486 nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_INTR,

--- 950 unchanged lines hidden ---