X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=oss_write.c;h=311a514dc86ff6bfb01abf53d16a75672827af12;hp=6f646c904016f92b13ea1b04f4a8cbb9f31243b8;hb=0b8b2469b5d2b81ff928bddd10d4ac3b819b75f8;hpb=9d24300965cbcdfddb9f63b6bc8018da50d7d8e1 diff --git a/oss_write.c b/oss_write.c index 6f646c90..311a514d 100644 --- a/oss_write.c +++ b/oss_write.c @@ -1,8 +1,4 @@ -/* - * Copyright (C) 2009 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2009 Andre Noll , see file COPYING. */ /** \file oss_write.c Paraslash's oss output plugin. */ @@ -61,7 +57,7 @@ static int get_oss_format(enum sample_format sf) case SF_S16_BE: return AFMT_S16_BE; case SF_U16_LE: return AFMT_U16_LE; case SF_U16_BE: return AFMT_U16_BE; - default: return AFMT_S16_LE; + default: return -E_BAD_SAMPLE_FORMAT; } } @@ -117,10 +113,14 @@ static int oss_init(struct writer_node *wn, unsigned sample_rate, if (ret < 0) goto err; /* set PCM format */ - sample_format = format = get_oss_format(sample_format); + ret = get_oss_format(sample_format); + if (ret < 0) + return ret; + sample_format = format = ret; ret = ioctl(powd->fd, SNDCTL_DSP_SETFMT, &format); if (ret < 0) { ret = -ERRNO_TO_PARA_ERROR(errno); + PARA_ERROR_LOG("could not set sample format\n"); goto err; } ret = -E_BAD_SAMPLE_FORMAT;