ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Sat Nov 5 17:46:52 2016 -0300| [70c6a1bcf021b396c9186c4a46dd6c96cc9f59f8] | committer: James Almer
avformat/matroskadec: fix DiscardPadding element parsing If the value is negative then it means padding at the start of the packet instead of at the end. Based on a patch by Hendrik Leppkes. Reviewed-by: James Zern <jzern-at-google....@ffmpeg.org> Signed-off-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=70c6a1bcf021b396c9186c4a46dd6c96cc9f59f8 --- libavformat/matroskadec.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 32f5e49..d2a691b 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -3082,10 +3082,14 @@ static int matroska_parse_frame(MatroskaDemuxContext *matroska, av_free(pkt); return AVERROR(ENOMEM); } - AV_WL32(side_data, 0); - AV_WL32(side_data + 4, av_rescale_q(discard_padding, + discard_padding = av_rescale_q(discard_padding, (AVRational){1, 1000000000}, - (AVRational){1, st->codecpar->sample_rate})); + (AVRational){1, st->codecpar->sample_rate}); + if (discard_padding > 0) { + AV_WL32(side_data + 4, discard_padding); + } else { + AV_WL32(side_data, -discard_padding); + } } if (track->ms_compat) _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog