diff options
author | Carl Eugen Hoyos <ceffmpeg@gmail.com> | 2018-04-05 00:41:55 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <ceffmpeg@gmail.com> | 2018-04-06 00:21:22 +0200 |
commit | 233f52fd2534e6844fd5831e3a6c7ca3a1c8fc2d (patch) | |
tree | a268e737ab548b6b7e83ef5851e3ea5cd2ebee6f /libavformat | |
parent | 92fe0bf1e8f83899ae8123bf1adc82dd6211f33a (diff) | |
download | ffmpeg-233f52fd2534e6844fd5831e3a6c7ca3a1c8fc2d.tar.gz |
lavf/amr: Stricter heuristic for auto-detection.
Fixes ticket #7125.
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/amr.c | 10 | ||||
-rw-r--r-- | libavformat/version.h | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/libavformat/amr.c b/libavformat/amr.c index 8b4d736d2f..f954803d46 100644 --- a/libavformat/amr.c +++ b/libavformat/amr.c @@ -178,7 +178,7 @@ AVInputFormat ff_amr_demuxer = { #if CONFIG_AMRNB_DEMUXER static int amrnb_probe(AVProbeData *p) { - int mode, i = 0, valid = 0; + int mode, i = 0, valid = 0, invalid = 0; const uint8_t *b = p->buf; while (i < p->buf_size) { @@ -197,10 +197,11 @@ static int amrnb_probe(AVProbeData *p) } } else { valid = 0; + invalid++; i++; } } - if (valid > 100) + if (valid > 100 && valid > invalid) return AVPROBE_SCORE_EXTENSION / 2 + 1; return 0; } @@ -234,7 +235,7 @@ AVInputFormat ff_amrnb_demuxer = { #if CONFIG_AMRWB_DEMUXER static int amrwb_probe(AVProbeData *p) { - int mode, i = 0, valid = 0; + int mode, i = 0, valid = 0, invalid = 0; const uint8_t *b = p->buf; while (i < p->buf_size) { @@ -253,10 +254,11 @@ static int amrwb_probe(AVProbeData *p) } } else { valid = 0; + invalid++; i++; } } - if (valid > 100) + if (valid > 100 && valid > invalid) return AVPROBE_SCORE_EXTENSION / 2 - 1; return 0; } diff --git a/libavformat/version.h b/libavformat/version.h index b55d51c1b7..a96e13bc60 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -33,7 +33,7 @@ // Also please add any ticket numbers that you believe might be affected here #define LIBAVFORMAT_VERSION_MAJOR 58 #define LIBAVFORMAT_VERSION_MINOR 11 -#define LIBAVFORMAT_VERSION_MICRO 100 +#define LIBAVFORMAT_VERSION_MICRO 101 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ |