diff options
Diffstat (limited to 'stream/audio_in.c')
-rw-r--r-- | stream/audio_in.c | 198 |
1 files changed, 99 insertions, 99 deletions
diff --git a/stream/audio_in.c b/stream/audio_in.c index 6592735aa9..8e956630b7 100644 --- a/stream/audio_in.c +++ b/stream/audio_in.c @@ -43,25 +43,25 @@ int audio_in_init(audio_in_t *ai, struct mp_log *log, int type) switch (ai->type) { #if HAVE_ALSA case AUDIO_IN_ALSA: - ai->alsa.handle = NULL; - ai->alsa.log = NULL; - ai->alsa.device = strdup("default"); - return 0; + ai->alsa.handle = NULL; + ai->alsa.log = NULL; + ai->alsa.device = strdup("default"); + return 0; #endif #if HAVE_OSS_AUDIO case AUDIO_IN_OSS: - ai->oss.audio_fd = -1; - ai->oss.device = strdup("/dev/dsp"); - return 0; + ai->oss.audio_fd = -1; + ai->oss.device = strdup("/dev/dsp"); + return 0; #endif #if HAVE_SNDIO case AUDIO_IN_SNDIO: - ai->sndio.hdl = NULL; - ai->sndio.device = strdup("default"); - return 0; + ai->sndio.hdl = NULL; + ai->sndio.device = strdup("default"); + return 0; #endif default: - return -1; + return -1; } } @@ -71,24 +71,24 @@ int audio_in_setup(audio_in_t *ai) switch (ai->type) { #if HAVE_ALSA case AUDIO_IN_ALSA: - if (ai_alsa_init(ai) < 0) return -1; - ai->setup = 1; - return 0; + if (ai_alsa_init(ai) < 0) return -1; + ai->setup = 1; + return 0; #endif #if HAVE_OSS_AUDIO case AUDIO_IN_OSS: - if (ai_oss_init(ai) < 0) return -1; - ai->setup = 1; - return 0; + if (ai_oss_init(ai) < 0) return -1; + ai->setup = 1; + return 0; #endif #if HAVE_SNDIO case AUDIO_IN_SNDIO: - if (ai_sndio_init(ai) < 0) return -1; - ai->setup = 1; - return 0; + if (ai_sndio_init(ai) < 0) return -1; + ai->setup = 1; + return 0; #endif default: - return -1; + return -1; } } @@ -97,27 +97,27 @@ int audio_in_set_samplerate(audio_in_t *ai, int rate) switch (ai->type) { #if HAVE_ALSA case AUDIO_IN_ALSA: - ai->req_samplerate = rate; - if (!ai->setup) return 0; - if (ai_alsa_setup(ai) < 0) return -1; - return ai->samplerate; + ai->req_samplerate = rate; + if (!ai->setup) return 0; + if (ai_alsa_setup(ai) < 0) return -1; + return ai->samplerate; #endif #if HAVE_OSS_AUDIO case AUDIO_IN_OSS: - ai->req_samplerate = rate; - if (!ai->setup) return 0; - if (ai_oss_set_samplerate(ai) < 0) return -1; - return ai->samplerate; + ai->req_samplerate = rate; + if (!ai->setup) return 0; + if (ai_oss_set_samplerate(ai) < 0) return -1; + return ai->samplerate; #endif #if HAVE_SNDIO case AUDIO_IN_SNDIO: - ai->req_samplerate = rate; - if (!ai->setup) return 0; - if (ai_sndio_setup(ai) < 0) return -1; - return ai->samplerate; + ai->req_samplerate = rate; + if (!ai->setup) return 0; + if (ai_sndio_setup(ai) < 0) return -1; + return ai->samplerate; #endif default: - return -1; + return -1; } } @@ -126,17 +126,17 @@ int audio_in_set_channels(audio_in_t *ai, int channels) switch (ai->type) { #if HAVE_ALSA case AUDIO_IN_ALSA: - ai->req_channels = channels; - if (!ai->setup) return 0; - if (ai_alsa_setup(ai) < 0) return -1; - return ai->channels; + ai->req_channels = channels; + if (!ai->setup) return 0; + if (ai_alsa_setup(ai) < 0) return -1; + return ai->channels; #endif #if HAVE_OSS_AUDIO case AUDIO_IN_OSS: - ai->req_channels = channels; - if (!ai->setup) return 0; - if (ai_oss_set_channels(ai) < 0) return -1; - return ai->channels; + ai->req_channels = channels; + if (!ai->setup) return 0; + if (ai_oss_set_channels(ai) < 0) return -1; + return ai->channels; #endif #if HAVE_SNDIO case AUDIO_IN_SNDIO: @@ -146,7 +146,7 @@ int audio_in_set_channels(audio_in_t *ai, int channels) return ai->channels; #endif default: - return -1; + return -1; } } @@ -159,19 +159,19 @@ int audio_in_set_device(audio_in_t *ai, char *device) switch (ai->type) { #if HAVE_ALSA case AUDIO_IN_ALSA: - free(ai->alsa.device); - ai->alsa.device = strdup(device); - /* mplayer cannot handle colons in arguments */ - for (i = 0; i < (int)strlen(ai->alsa.device); i++) { - if (ai->alsa.device[i] == '.') ai->alsa.device[i] = ':'; - } - return 0; + free(ai->alsa.device); + ai->alsa.device = strdup(device); + /* mplayer cannot handle colons in arguments */ + for (i = 0; i < (int)strlen(ai->alsa.device); i++) { + if (ai->alsa.device[i] == '.') ai->alsa.device[i] = ':'; + } + return 0; #endif #if HAVE_OSS_AUDIO case AUDIO_IN_OSS: - free(ai->oss.device); - ai->oss.device = strdup(device); - return 0; + free(ai->oss.device); + ai->oss.device = strdup(device); + return 0; #endif #if HAVE_SNDIO case AUDIO_IN_SNDIO: @@ -180,29 +180,29 @@ int audio_in_set_device(audio_in_t *ai, char *device) return 0; #endif default: - return -1; + return -1; } } int audio_in_uninit(audio_in_t *ai) { if (ai->setup) { - switch (ai->type) { + switch (ai->type) { #if HAVE_ALSA - case AUDIO_IN_ALSA: - if (ai->alsa.log) - snd_output_close(ai->alsa.log); - if (ai->alsa.handle) { - snd_pcm_close(ai->alsa.handle); - } - ai->setup = 0; - return 0; + case AUDIO_IN_ALSA: + if (ai->alsa.log) + snd_output_close(ai->alsa.log); + if (ai->alsa.handle) { + snd_pcm_close(ai->alsa.handle); + } + ai->setup = 0; + return 0; #endif #if HAVE_OSS_AUDIO - case AUDIO_IN_OSS: - close(ai->oss.audio_fd); - ai->setup = 0; - return 0; + case AUDIO_IN_OSS: + close(ai->oss.audio_fd); + ai->setup = 0; + return 0; #endif #if HAVE_SNDIO case AUDIO_IN_SNDIO: @@ -211,7 +211,7 @@ int audio_in_uninit(audio_in_t *ai) ai->setup = 0; return 0; #endif - } + } } return -1; } @@ -221,11 +221,11 @@ int audio_in_start_capture(audio_in_t *ai) switch (ai->type) { #if HAVE_ALSA case AUDIO_IN_ALSA: - return snd_pcm_start(ai->alsa.handle); + return snd_pcm_start(ai->alsa.handle); #endif #if HAVE_OSS_AUDIO case AUDIO_IN_OSS: - return 0; + return 0; #endif #if HAVE_SNDIO case AUDIO_IN_SNDIO: @@ -234,7 +234,7 @@ int audio_in_start_capture(audio_in_t *ai) return 0; #endif default: - return -1; + return -1; } } @@ -245,27 +245,27 @@ int audio_in_read_chunk(audio_in_t *ai, unsigned char *buffer) switch (ai->type) { #if HAVE_ALSA case AUDIO_IN_ALSA: - ret = snd_pcm_readi(ai->alsa.handle, buffer, ai->alsa.chunk_size); - if (ret != ai->alsa.chunk_size) { - if (ret < 0) { - MP_ERR(ai, "\nError reading audio: %s\n", snd_strerror(ret)); - if (ret == -EPIPE) { - if (ai_alsa_xrun(ai) == 0) { - MP_ERR(ai, "Recovered from cross-run, some frames may be left out!\n"); - } else { - MP_ERR(ai, "Fatal error, cannot recover!\n"); - } - } - } else { - MP_ERR(ai, "\nNot enough audio samples!\n"); - } - return -1; - } - return ret; + ret = snd_pcm_readi(ai->alsa.handle, buffer, ai->alsa.chunk_size); + if (ret != ai->alsa.chunk_size) { + if (ret < 0) { + MP_ERR(ai, "\nError reading audio: %s\n", snd_strerror(ret)); + if (ret == -EPIPE) { + if (ai_alsa_xrun(ai) == 0) { + MP_ERR(ai, "Recovered from cross-run, some frames may be left out!\n"); + } else { + MP_ERR(ai, "Fatal error, cannot recover!\n"); + } + } + } else { + MP_ERR(ai, "\nNot enough audio samples!\n"); + } + return -1; + } + return ret; #endif #if HAVE_OSS_AUDIO case AUDIO_IN_OSS: - ret = read(ai->oss.audio_fd, buffer, ai->blocksize); + ret = read(ai->oss.audio_fd, buffer, ai->blocksize); if (ret != ai->blocksize) { if (ret < 0) { MP_ERR(ai, "\nError reading audio: %s\n", strerror(errno)); @@ -280,17 +280,17 @@ int audio_in_read_chunk(audio_in_t *ai, unsigned char *buffer) #if HAVE_SNDIO case AUDIO_IN_SNDIO: ret = sio_read(ai->sndio.hdl, buffer, ai->blocksize); - if (ret != ai->blocksize) { - if (ret < 0) { - MP_ERR(ai, "\nError reading audio: %s\n", strerror(errno)); - } else { - MP_ERR(ai, "\nNot enough audio samples!\n"); - } - return -1; - } - return ret; + if (ret != ai->blocksize) { + if (ret < 0) { + MP_ERR(ai, "\nError reading audio: %s\n", strerror(errno)); + } else { + MP_ERR(ai, "\nNot enough audio samples!\n"); + } + return -1; + } + return ret; #endif default: - return -1; + return -1; } } |