Fix PCM DVD divide by zero bug introduced in r14659. Patch supplied by lars dot taeuber at gmx dot net.
Originally committed as revision 14864 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
ab2a942ad8
commit
2cd04cf919
@ -350,11 +350,12 @@ static int pcm_decode_frame(AVCodecContext *avctx,
|
|||||||
|
|
||||||
sample_size = av_get_bits_per_sample(avctx->codec_id)/8;
|
sample_size = av_get_bits_per_sample(avctx->codec_id)/8;
|
||||||
|
|
||||||
n = avctx->channels * sample_size;
|
|
||||||
/* av_get_bits_per_sample returns 0 for CODEC_ID_PCM_DVD */
|
/* av_get_bits_per_sample returns 0 for CODEC_ID_PCM_DVD */
|
||||||
if (CODEC_ID_PCM_DVD == avctx->codec_id)
|
if (CODEC_ID_PCM_DVD == avctx->codec_id)
|
||||||
/* 2 samples are interleaved per block in PCM_DVD */
|
/* 2 samples are interleaved per block in PCM_DVD */
|
||||||
n = 2 * avctx->channels * avctx->bits_per_sample/8;
|
sample_size = avctx->bits_per_sample * 2 / 8;
|
||||||
|
|
||||||
|
n = avctx->channels * sample_size;
|
||||||
|
|
||||||
if(n && buf_size % n){
|
if(n && buf_size % n){
|
||||||
av_log(avctx, AV_LOG_ERROR, "invalid PCM packet\n");
|
av_log(avctx, AV_LOG_ERROR, "invalid PCM packet\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user