X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=wav.c;h=c03c21dc4db47ea51b44ab352570a5e7e0bc08cf;hb=refs%2Ftags%2Fv0.3.3;hp=4933afd49443c006e4fd3d219d51cfd75856bf71;hpb=7534eaf91ca37100a7559c05add941192220a7f1;p=paraslash.git diff --git a/wav.c b/wav.c index 4933afd4..c03c21dc 100644 --- a/wav.c +++ b/wav.c @@ -48,6 +48,7 @@ static void make_wav_header(unsigned int channels, unsigned int samplerate, int bytespersec = channels * samplerate * BITS / 8; int align = channels * BITS / 8; + assert(channels); PARA_DEBUG_LOG("writing wave header: %d channels, %d KHz\n", channels, samplerate); memset(headbuf, 0, WAV_HEADER_LEN); memcpy(headbuf, "RIFF", 4); @@ -71,6 +72,8 @@ static ssize_t wav_convert(char *inbuf, size_t len, struct filter_node *fn) int *bof = fn->private_data; if (*bof) { + if (!len) + return 0; make_wav_header(fn->fc->channels, fn->fc->samplerate, fn); fn->loaded = WAV_HEADER_LEN; *bof = 0;