mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
lavc/flacdec: Add frame CRC calculation
Fixes ticket #2266 Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
4ae74c6312
commit
1d5b35cc07
@ -533,7 +533,15 @@ static int flac_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
av_log(s->avctx, AV_LOG_ERROR, "decode_frame() failed\n");
|
av_log(s->avctx, AV_LOG_ERROR, "decode_frame() failed\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
bytes_read = (get_bits_count(&s->gb)+7)/8;
|
bytes_read = get_bits_count(&s->gb)/8;
|
||||||
|
|
||||||
|
if ((s->avctx->err_recognition & AV_EF_CRCCHECK) &&
|
||||||
|
av_crc(av_crc_get_table(AV_CRC_16_ANSI),
|
||||||
|
0, buf, bytes_read)) {
|
||||||
|
av_log(s->avctx, AV_LOG_ERROR, "CRC error at PTS %"PRId64"\n", avpkt->pts);
|
||||||
|
if (s->avctx->err_recognition & AV_EF_EXPLODE)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
|
||||||
/* get output buffer */
|
/* get output buffer */
|
||||||
frame->nb_samples = s->blocksize;
|
frame->nb_samples = s->blocksize;
|
||||||
|
Loading…
Reference in New Issue
Block a user