mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
mp3adu: return error instead of just consuming bad packets
This commit is contained in:
parent
e2e6c8799b
commit
99975966c3
@ -1847,8 +1847,8 @@ static int decode_frame_adu(AVCodecContext *avctx, void *data, int *data_size,
|
|||||||
|
|
||||||
// Discard too short frames
|
// Discard too short frames
|
||||||
if (buf_size < HEADER_SIZE) {
|
if (buf_size < HEADER_SIZE) {
|
||||||
*data_size = 0;
|
av_log(avctx, AV_LOG_ERROR, "Packet is too small\n");
|
||||||
return buf_size;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1859,8 +1859,8 @@ static int decode_frame_adu(AVCodecContext *avctx, void *data, int *data_size,
|
|||||||
header = AV_RB32(buf) | 0xffe00000;
|
header = AV_RB32(buf) | 0xffe00000;
|
||||||
|
|
||||||
if (ff_mpa_check_header(header) < 0) { // Bad header, discard frame
|
if (ff_mpa_check_header(header) < 0) { // Bad header, discard frame
|
||||||
*data_size = 0;
|
av_log(avctx, AV_LOG_ERROR, "Invalid frame header\n");
|
||||||
return buf_size;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
avpriv_mpegaudio_decode_header((MPADecodeHeader *)s, header);
|
avpriv_mpegaudio_decode_header((MPADecodeHeader *)s, header);
|
||||||
|
Loading…
Reference in New Issue
Block a user