aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2009-09-29 10:23:47 +0000
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2009-09-29 10:23:47 +0000
commit4b4ac5c7a8b4c90c359ad7150ac71e542973abc8 (patch)
tree3ecf6382f1fa07a74ef01458001825536e00c21e
parentf6765f3f04518bd0c2172733139422be49c1c82c (diff)
downloadffmpeg-4b4ac5c7a8b4c90c359ad7150ac71e542973abc8.tar.gz
Sync AC3 probe values with MP3 probe values, they have to avoid similar issues.
This fixes ffmpeg-generated files with -acodec ac3 being detected as raw ac3 instead of MPEG. Originally committed as revision 20075 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/mp3.c2
-rw-r--r--libavformat/raw.c7
2 files changed, 7 insertions, 2 deletions
diff --git a/libavformat/mp3.c b/libavformat/mp3.c
index 42ca42fa08..01248742e0 100644
--- a/libavformat/mp3.c
+++ b/libavformat/mp3.c
@@ -63,6 +63,8 @@ static int mp3_read_probe(AVProbeData *p)
if(buf == buf0)
first_frames= frames;
}
+ // keep this in sync with ac3 probe, both need to avoid
+ // issues with MPEG-files!
if (first_frames>=4) return AVPROBE_SCORE_MAX/2+1;
else if(max_frames>500)return AVPROBE_SCORE_MAX/2;
else if(max_frames>=4) return AVPROBE_SCORE_MAX/4;
diff --git a/libavformat/raw.c b/libavformat/raw.c
index f807a96f31..e7cfd7c1d0 100644
--- a/libavformat/raw.c
+++ b/libavformat/raw.c
@@ -628,8 +628,11 @@ static int ac3_eac3_probe(AVProbeData *p, enum CodecID expected_codec_id)
first_frames = frames;
}
if(codec_id != expected_codec_id) return 0;
- if (first_frames>=3) return AVPROBE_SCORE_MAX * 3 / 4;
- else if(max_frames>=3) return AVPROBE_SCORE_MAX / 2;
+ // keep this in sync with mp3 probe, both need to avoid
+ // issues with MPEG-files!
+ if (first_frames>=4) return AVPROBE_SCORE_MAX/2+1;
+ else if(max_frames>500)return AVPROBE_SCORE_MAX/2;
+ else if(max_frames>=4) return AVPROBE_SCORE_MAX/4;
else if(max_frames>=1) return 1;
else return 0;
}