FreeBSD kernel sound device code
|
#include <dev/sound/pcm/sound.h>
#include <dev/sound/pcm/pcm.h>
#include <dev/sound/pcm/vchan.h>
#include "feeder_if.h"
#include "snd_fxdiv_gen.h"
Go to the source code of this file.
Data Structures | |
struct | feed_mixer_info |
Macros | |
#define | SND_USE_FXDIV |
#define | SND_FEEDER_MULTIFORMAT 1 |
#define | FEEDMIXER_DECLARE(SIGN, BIT, ENDIAN) |
#define | FEEDMIXER_ENTRY(SIGN, BIT, ENDIAN) |
#define | FEEDMIXER_TAB_SIZE |
#define | FEEDMIXER_DATA(i, c) |
#define | FEEDMIXER_INFOIDX(d) ((uint32_t)((uintptr_t)(d) >> 7) & 0x1f) |
#define | FEEDMIXER_CHANNELS(d) ((uint32_t)((uintptr_t)(d)) & 0x7f) |
Typedefs | |
typedef void(* | feed_mixer_t) (uint8_t *, uint8_t *, uint32_t) |
Functions | |
SND_DECLARE_FILE ("$FreeBSD$") | |
static int | feed_mixer_init (struct pcm_feeder *f) |
static int | feed_mixer_set (struct pcm_feeder *f, int what, int value) |
static __inline int | feed_mixer_rec (struct pcm_channel *c) |
static int | feed_mixer_feed (struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, uint32_t count, void *source) |
FEEDER_DECLARE (feeder_mixer, NULL) | |
Variables | |
static struct feed_mixer_info | feed_mixer_info_tab [] |
static struct pcm_feederdesc | feeder_mixer_desc [] |
static kobj_method_t | feeder_mixer_methods [] |
#define FEEDMIXER_CHANNELS | ( | d | ) | ((uint32_t)((uintptr_t)(d)) & 0x7f) |
Definition at line 139 of file feeder_mixer.c.
#define FEEDMIXER_DATA | ( | i, | |
c | |||
) |
Definition at line 135 of file feeder_mixer.c.
#define FEEDMIXER_DECLARE | ( | SIGN, | |
BIT, | |||
ENDIAN | |||
) |
Definition at line 49 of file feeder_mixer.c.
#define FEEDMIXER_ENTRY | ( | SIGN, | |
BIT, | |||
ENDIAN | |||
) |
Definition at line 99 of file feeder_mixer.c.
#define FEEDMIXER_INFOIDX | ( | d | ) | ((uint32_t)((uintptr_t)(d) >> 7) & 0x1f) |
Definition at line 138 of file feeder_mixer.c.
#define FEEDMIXER_TAB_SIZE |
Definition at line 131 of file feeder_mixer.c.
#define SND_FEEDER_MULTIFORMAT 1 |
Definition at line 45 of file feeder_mixer.c.
#define SND_USE_FXDIV |
Definition at line 38 of file feeder_mixer.c.
typedef void(* feed_mixer_t) (uint8_t *, uint8_t *, uint32_t) |
Definition at line 47 of file feeder_mixer.c.
|
static |
Definition at line 282 of file feeder_mixer.c.
References AFMT_PASSTHROUGH, b, feed_mixer_info::bps, pcm_channel::bufsoft, c, pcm_channel::children, CHN_F_CLOSING, CHN_F_DIRTY, CHN_F_EXCLUSIVE, CHN_F_MMAP, CHN_FOREACH, CHN_LOCK, CHN_STOPPED, CHN_UNLOCK, count, pcm_feeder::data, pcm_feeder::desc, pcm_channel::direction, feed_mixer_info_tab, feed_mixer_rec(), pcm_channel::feedcount, pcm_channel::feeder, FEEDMIXER_CHANNELS, FEEDMIXER_INFOIDX, pcm_channel::flags, pcm_channel::format, feed_mixer_info::mix, pcm_feederdesc::out, PCMDIR_REC, sndbuf_acquire(), sndbuf_getbuf(), sndbuf_getfree(), sndbuf_getsize(), sndbuf_zerodata(), source, src, vchan_sync(), and VCHAN_SYNC_REQUIRED.
|
static |
Definition at line 142 of file feeder_mixer.c.
References AFMT_CHANNEL, AFMT_ENCODING, pcm_feeder::data, pcm_feeder::desc, feed_mixer_info_tab, FEEDMIXER_DATA, FEEDMIXER_TAB_SIZE, feed_mixer_info::format, pcm_feederdesc::in, and pcm_feederdesc::out.
|
static |
Definition at line 180 of file feeder_mixer.c.
References b, pcm_channel::bufhard, pcm_channel::bufsoft, pcm_channel::busy, c, CHN_F_DIRTY, CHN_F_MMAP, CHN_FOREACH, CHN_LOCK, CHN_STOPPED, CHN_UNLOCK, pcm_channel::feeder, pcm_channel::flags, snd_dbuf::rl, snd_dbuf::rp, sndbuf_acquire(), sndbuf_dispose(), sndbuf_getalign(), sndbuf_getfree(), sndbuf_getready(), sndbuf_getsize(), pcm_feeder::source, snd_dbuf::tmpbuf, vchan_sync(), VCHAN_SYNC_REQUIRED, and pcm_channel::xruns.
Referenced by feed_mixer_feed().
|
static |
Definition at line 162 of file feeder_mixer.c.
References pcm_feeder::data, FEEDMIXER_CHANNELS, FEEDMIXER_DATA, FEEDMIXER_INFOIDX, SND_CHN_MAX, value, and what.
FEEDER_DECLARE | ( | feeder_mixer | , |
NULL | |||
) |
SND_DECLARE_FILE | ( | "$FreeBSD$" | ) |
|
static |
Definition at line 105 of file feeder_mixer.c.
Referenced by feed_mixer_feed(), and feed_mixer_init().
|
static |
Definition at line 392 of file feeder_mixer.c.
|
static |
Definition at line 397 of file feeder_mixer.c.