Ensure that packets returned from ASF demuxer are properly 0-padded.
Originally committed as revision 25930 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
b72daad062
commit
3c3ef81b9b
@ -977,9 +977,10 @@ static int ff_asf_parse_packet(AVFormatContext *s, ByteIOContext *pb, AVPacket *
|
|||||||
av_log(s, AV_LOG_ERROR, "pkt.size != ds_packet_size * ds_span (%d %d %d)\n", asf_st->pkt.size, asf_st->ds_packet_size, asf_st->ds_span);
|
av_log(s, AV_LOG_ERROR, "pkt.size != ds_packet_size * ds_span (%d %d %d)\n", asf_st->pkt.size, asf_st->ds_packet_size, asf_st->ds_span);
|
||||||
}else{
|
}else{
|
||||||
/* packet descrambling */
|
/* packet descrambling */
|
||||||
uint8_t *newdata = av_malloc(asf_st->pkt.size);
|
uint8_t *newdata = av_malloc(asf_st->pkt.size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||||
if (newdata) {
|
if (newdata) {
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
|
memset(newdata + asf_st->pkt.size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||||
while (offset < asf_st->pkt.size) {
|
while (offset < asf_st->pkt.size) {
|
||||||
int off = offset / asf_st->ds_chunk_size;
|
int off = offset / asf_st->ds_chunk_size;
|
||||||
int row = off / asf_st->ds_span;
|
int row = off / asf_st->ds_span;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user