summaryrefslogtreecommitdiffstats
path: root/src/oss.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/oss.c')
-rw-r--r--src/oss.c48
1 files changed, 0 insertions, 48 deletions
diff --git a/src/oss.c b/src/oss.c
deleted file mode 100644
index 02bf8cd1..00000000
--- a/src/oss.c
+++ /dev/null
@@ -1,48 +0,0 @@
-#include <assert.h>
-#include <sys/soundcard.h>
-#include <sys/ioctl.h>
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-
-#include "oss.h"
-
-int oss_auto_format(int fd, struct pa_sample_spec *ss) {
- int format, channels, speed;
-
- assert(fd >= 0 && ss);
-
- format = AFMT_S16_NE;
- if (ioctl(fd, SNDCTL_DSP_SETFMT, &format) < 0 || format != AFMT_S16_NE) {
- int f = AFMT_S16_NE == AFMT_S16_LE ? AFMT_S16_BE : AFMT_S16_LE;
- format = f;
- if (ioctl(fd, SNDCTL_DSP_SETFMT, &format) < 0 || format != f) {
- format = AFMT_U8;
- if (ioctl(fd, SNDCTL_DSP_SETFMT, &format) < 0 || format != AFMT_U8) {
- fprintf(stderr, "SNDCTL_DSP_SETFMT: %s\n", format != AFMT_U8 ? "No supported sample format" : strerror(errno));
- return -1;
- } else
- ss->format = SAMPLE_U8;
- } else
- ss->format = f == AFMT_S16_LE ? SAMPLE_S16LE : SAMPLE_S16BE;
- } else
- ss->format = SAMPLE_S16NE;
-
- channels = 2;
- if (ioctl(fd, SNDCTL_DSP_CHANNELS, &channels) < 0) {
- fprintf(stderr, "SNDCTL_DSP_CHANNELS: %s\n", strerror(errno));
- return -1;
- }
- assert(channels);
- ss->channels = channels;
-
- speed = 44100;
- if (ioctl(fd, SNDCTL_DSP_SPEED, &speed) < 0) {
- fprintf(stderr, "SNDCTL_DSP_SPEED: %s\n", strerror(errno));
- return -1;
- }
- assert(speed);
- ss->rate = speed;
-
- return 0;
-}