nutdec: fix infinite resync loops
authorAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Tue, 19 May 2015 22:06:05 +0000 (00:06 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 22 May 2015 22:55:57 +0000 (00:55 +0200)
commitffb4362bf0b6e6cd6a87b6479177f599419dfb8c
treebfc26b4d9b0562e9ca01b89da9860e045ce04286
parent3ea101b234485d43c0f538d77b208311aec4023b
nutdec: fix infinite resync loops

nut->last_syncpoint_pos doesn't necessarily change between resync
attempts, so find_any_startcode can return the same startcode again.

Thus remember where the last resync happened and don't try to resync
before that.

This can't be done locally in nut_read_packet, because this wouldn't
prevent infinite resync loops, where after the resync a packet is
returned and while reading a following packet the resync happens again.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 37e679881d364b6da817d829d35869d657218ab3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/nut.h
libavformat/nutdec.c