asfdec: do not align Data Object when Broadcast Flag is set
its size is invalid in this case Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
parent
db21dde3f7
commit
b5c1c16247
@ -928,7 +928,7 @@ static int asf_read_data(AVFormatContext *s, const GUIDParseTable *g)
|
|||||||
size, asf->nb_packets);
|
size, asf->nb_packets);
|
||||||
avio_skip(pb, 2); // skip reserved field
|
avio_skip(pb, 2); // skip reserved field
|
||||||
asf->first_packet_offset = avio_tell(pb);
|
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);
|
align_position(pb, asf->offset, asf->data_size);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -1676,7 +1676,7 @@ static int asf_read_header(AVFormatContext *s)
|
|||||||
size = avio_rl64(pb);
|
size = avio_rl64(pb);
|
||||||
align_position(pb, asf->offset, size);
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user