In mov demuxer, check that stts data exists, fix crash, issue #2479

Originally committed as revision 26227 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Baptiste Coudurier 2011-01-05 19:14:44 +00:00
parent 9be52d48d9
commit 4af7166fb4

View File

@ -1515,7 +1515,8 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
if (sc->time_offset) {
int rescaled = sc->time_offset < 0 ? av_rescale(sc->time_offset, sc->time_scale, mov->time_scale) : sc->time_offset;
current_dts = -rescaled;
if (sc->ctts_data && sc->ctts_data[0].duration / sc->stts_data[0].duration > 16) {
if (sc->ctts_data && sc->stts_data &&
sc->ctts_data[0].duration / sc->stts_data[0].duration > 16) {
/* more than 16 frames delay, dts are likely wrong
this happens with files created by iMovie */
sc->wrong_dts = 1;