Commit b5c1c162 authored by Alexandra Hájková's avatar Alexandra Hájková Committed by Anton Khirnov

asfdec: do not align Data Object when Broadcast Flag is set

its size is invalid in this case
Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
parent db21dde3
......@@ -928,7 +928,7 @@ static int asf_read_data(AVFormatContext *s, const GUIDParseTable *g)
size, asf->nb_packets);
avio_skip(pb, 2); // skip reserved field
asf->first_packet_offset = avio_tell(pb);
if (pb->seekable)
if (pb->seekable && !(asf->b_flags & ASF_FLAG_BROADCAST))
align_position(pb, asf->offset, asf->data_size);
return 0;
......@@ -1676,7 +1676,7 @@ static int asf_read_header(AVFormatContext *s)
size = avio_rl64(pb);
align_position(pb, asf->offset, size);
}
if (asf->data_reached && !pb->seekable)
if (asf->data_reached && (!pb->seekable || (asf->b_flags & ASF_FLAG_BROADCAST)))
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment