Merge commit '9e8627a1ff9207b9e272d248da2e1bd0cc6fe2fe'

* commit '9e8627a1ff9207b9e272d248da2e1bd0cc6fe2fe':
  asfdec: interpret the first flag in an asf packet as length flag

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2015-07-27 12:27:32 +02:00
commit 90696ef368
1 changed files with 4 additions and 2 deletions

View File

@ -1308,12 +1308,14 @@ static int asf_read_packet_header(AVFormatContext *s)
asf->packet_offset = avio_tell(pb); asf->packet_offset = avio_tell(pb);
error_flags = avio_r8(pb); // read Error Correction Flags 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)) { if (!(error_flags & ASF_ERROR_CORRECTION_LENGTH_TYPE)) {
size = error_flags & ASF_PACKET_ERROR_CORRECTION_DATA_SIZE; size = error_flags & ASF_PACKET_ERROR_CORRECTION_DATA_SIZE;
avio_skip(pb, 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); asf->prop_flags = avio_r8(pb);
READ_LEN(len_flags & ASF_PPI_MASK_PACKET_LENGTH_FIELD_SIZE, READ_LEN(len_flags & ASF_PPI_MASK_PACKET_LENGTH_FIELD_SIZE,
ASF_PPI_FLAG_PACKET_LENGTH_FIELD_, asf->packet_size_internal); ASF_PPI_FLAG_PACKET_LENGTH_FIELD_, asf->packet_size_internal);