#include <sent/stddefs.h>
#include <sent/adin.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <alsa/asoundlib.h>
Include dependency graph for adin_mic_linux_alsa.c:
Go to the source code of this file.
Functions | |
boolean | adin_mic_standby (int sfreq, void *dummy) |
static int | xrun_recovery (snd_pcm_t *handle, int err) |
boolean | adin_mic_start () |
boolean | adin_mic_stop () |
int | adin_mic_read (SP16 *buf, int sampnum) |
Read samples from the daemon. | |
Variables | |
static snd_pcm_t * | handle |
Audio handler. | |
static snd_pcm_hw_params_t * | hwparams |
Pointer to device hardware parameters. | |
static char * | pcm_name = "hw:0,0" |
Name of the PCM device. | |
static boolean | need_swap |
Whether samples need byte swap. | |
static int | latency = 50 |
Lantency time in msec. | |
static struct pollfd * | ufds |
Poll descriptor. | |
static int | count |
Poll descriptor count. |
Julius does not alter any mixer device setting at all on Linux. You should configure the mixer for recording source (mic/line) and recording volume correctly using other audio tool such as alsamixer.
Note that sound card should support 16bit monaural recording, and multiple cards are not supported (in that case the first one will be used).
Definition in file adin_mic_linux_alsa.c.
|
Device initialization: check device capability and open for recording.
Definition at line 80 of file adin_mic_linux_alsa.c. |
|
Error recovery when PCM buffer underrun or suspend.
Definition at line 270 of file adin_mic_linux_alsa.c. Referenced by adin_mic_start(). |
|
Start recording.
Definition at line 296 of file adin_mic_linux_alsa.c. |
|
Stop recording.
Definition at line 342 of file adin_mic_linux_alsa.c. |
|
Read samples from the daemon. Try to read sampnum samples and returns actual number of recorded samples currently available. This function will block until at least one sample can be obtained.
Definition at line 360 of file adin_mic_linux_alsa.c. |