summaryrefslogtreecommitdiff
path: root/libavformat/mpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2008-03-04 01:31:15 +0000
committerMichael Niedermayer <michaelni@gmx.at>2008-03-04 01:31:15 +0000
commit675b8390f61e17ea076811324719f6b135c295ab (patch)
tree235f0b909d1c0d9c75f479f92b5e5380057da5f0 /libavformat/mpeg.c
parent5a6a9e78ab332bb54bf36761c85609881561149a (diff)
Ignore flags after pts/dts if there are no bytes left.
Fixes decoding of vdr-radio.vdr. (issue198) Originally committed as revision 12310 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/mpeg.c')
-rw-r--r--libavformat/mpeg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index 97b2a637a2..462ef73bc4 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -334,6 +334,10 @@ static int mpegps_read_pes_header(AVFormatContext *s,
header_len -= 5;
}
}
+ if (flags & 0x3f && header_len == 0){
+ flags &= 0xC0;
+ av_log(s, AV_LOG_WARNING, "Further flags set but no bytes left\n");
+ }
if (flags & 0x01) { /* PES extension */
pes_ext = get_byte(s->pb);
header_len--;