|
|
|
@@ -49,6 +49,7 @@ int ff_oss_audio_open(AVFormatContext *s1, int is_output, |
|
|
|
int audio_fd; |
|
|
|
int tmp, err; |
|
|
|
char *flip = getenv("AUDIO_FLIP_LEFT"); |
|
|
|
char errbuff[128]; |
|
|
|
|
|
|
|
if (is_output) |
|
|
|
audio_fd = avpriv_open(audio_device, O_WRONLY); |
|
|
|
@@ -74,14 +75,15 @@ int ff_oss_audio_open(AVFormatContext *s1, int is_output, |
|
|
|
|
|
|
|
#define CHECK_IOCTL_ERROR(event) \ |
|
|
|
if (err < 0) { \ |
|
|
|
av_log(s1, AV_LOG_ERROR, #event ": %s\n", strerror(errno)); \ |
|
|
|
av_strerror(AVERROR(errno), errbuff, sizeof(errbuff)); \ |
|
|
|
av_log(s1, AV_LOG_ERROR, #event ": %s\n", errbuff); \ |
|
|
|
goto fail; \ |
|
|
|
} |
|
|
|
|
|
|
|
/* select format : favour native format |
|
|
|
* We don't CHECK_IOCTL_ERROR here because even if failed OSS still may be |
|
|
|
* usable. If OSS is not usable the SNDCTL_DSP_SETFMTS later is going to |
|
|
|
* fail anyway. `err =` kept to eliminate compiler warning. */ |
|
|
|
* fail anyway. */ |
|
|
|
err = ioctl(audio_fd, SNDCTL_DSP_GETFMTS, &tmp); |
|
|
|
if (err < 0) { |
|
|
|
av_log(s1, AV_LOG_WARNING, "SNDCTL_DSP_GETFMTS: %s\n", strerror(errno)); |
|
|
|
|