[FFmpeg-cvslog] asfdec: interpret the first flag in an asf packet as length flag
Alexandra Hájková
git at videolan.org
Mon Jul 27 12:41:13 CEST 2015
ffmpeg | branch: master | Alexandra Hájková <alexandra.khirnova at gmail.com> | Fri Jul 24 11:22:56 2015 +0200| [9e8627a1ff9207b9e272d248da2e1bd0cc6fe2fe] | committer: Anton Khirnov
asfdec: interpret the first flag in an asf packet as length flag
if the error correction flag is not set, a packet starts with payload
Signed-off-by: Anton Khirnov <anton at khirnov.net>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9e8627a1ff9207b9e272d248da2e1bd0cc6fe2fe
---
libavformat/asfdec.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index 752d45c..642ccb2 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -1308,12 +1308,14 @@ static int asf_read_packet_header(AVFormatContext *s)
asf->packet_offset = avio_tell(pb);
error_flags = avio_r8(pb); // read Error Correction Flags
- if (error_flags & ASF_PACKET_FLAG_ERROR_CORRECTION_PRESENT)
+ if (error_flags & ASF_PACKET_FLAG_ERROR_CORRECTION_PRESENT) {
if (!(error_flags & ASF_ERROR_CORRECTION_LENGTH_TYPE)) {
size = error_flags & ASF_PACKET_ERROR_CORRECTION_DATA_SIZE;
avio_skip(pb, size);
}
- len_flags = avio_r8(pb);
+ len_flags = avio_r8(pb);
+ } else
+ len_flags = error_flags;
asf->prop_flags = avio_r8(pb);
READ_LEN(len_flags & ASF_PPI_MASK_PACKET_LENGTH_FIELD_SIZE,
ASF_PPI_FLAG_PACKET_LENGTH_FIELD_, asf->packet_size_internal);
More information about the ffmpeg-cvslog
mailing list