From 19e0e403f329baa8f1b31f47b089dba932ea31fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= Date: Wed, 28 Jun 2006 21:40:08 +0000 Subject: [PATCH] detect MPEG PES streams as MPEG PS; the PS demuxer will cope Originally committed as revision 5540 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mpeg.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index bf36222760..8c8a24284f 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -1263,7 +1263,7 @@ static int mpeg_mux_end(AVFormatContext *ctx) static int mpegps_probe(AVProbeData *p) { uint32_t code= -1; - int sys=0, pspack=0, priv1=0, vid=0; + int sys=0, pspack=0, priv1=0, vid=0, audio=0; int i; for(i=0; ibuf_size; i++){ @@ -1274,6 +1274,7 @@ static int mpegps_probe(AVProbeData *p) case PRIVATE_STREAM_1: priv1++; break; case PACK_START_CODE: pspack++; break; case (VIDEO_ID + 0x100): vid++; break; + case (AUDIO_ID + 0x100): audio++; break; } } } @@ -1281,6 +1282,8 @@ static int mpegps_probe(AVProbeData *p) return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg if((priv1 || vid) && (priv1+vid)*9 <= pspack*10) return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg + if((!!vid ^ !!audio) && !sys && !pspack) /* PES stream */ + return AVPROBE_SCORE_MAX/2; return 0; }