[FFmpeg-devel] [PATCH] avformat/matroskadec: fix DiscardPadding element parsing

James Zern jzern at google.com
Tue Nov 8 02:00:11 EET 2016


On Sat, Nov 5, 2016 at 1:50 PM, James Almer <jamrial at gmail.com> wrote:
> 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.
>
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>  libavformat/matroskadec.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
>

lgtm

> diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
> index 32f5e49..5a22193 100644
> --- a/libavformat/matroskadec.c
> +++ b/libavformat/matroskadec.c
> @@ -3082,10 +3082,16 @@ 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) {
>

I might have said '>= 0' as I was reading the else as doing '-0' which
sounded weird.


More information about the ffmpeg-devel mailing list