diff --git a/libavformat/riff.c b/libavformat/riff.c index d0484454569e27bf32463beabdd7c3eb2c01f690..95e62481933189740339891195c1db5662461e7b 100644 --- a/libavformat/riff.c +++ b/libavformat/riff.c @@ -248,7 +248,8 @@ int put_wav_header(ByteIOContext *pb, AVCodecContext *enc) } else if (enc->codec_id == CODEC_ID_ADPCM_IMA_WAV || enc->codec_id == CODEC_ID_ADPCM_MS || enc->codec_id == CODEC_ID_ADPCM_G726 || enc->codec_id == CODEC_ID_ADPCM_YAMAHA) { // bps = 4; } else { - bps = av_get_bits_per_sample(enc->codec_id); + if (!(bps = av_get_bits_per_sample(enc->codec_id))) + bps = 16; // default to 16 } if(bps != enc->bits_per_sample && enc->bits_per_sample){ av_log(enc, AV_LOG_WARNING, "requested bits_per_sample (%d) and actually stored (%d) differ\n", enc->bits_per_sample, bps);