From b8c16558828e73e933ae73b5888345d50e897dfc Mon Sep 17 00:00:00 2001 From: Michael Niedermayer <michaelni@gmx.at> Date: Mon, 30 Jan 2012 23:52:03 +0100 Subject: [PATCH] avidec: print informative error messages if seeking fails. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> --- libavformat/avidec.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 93b15bddf77..704980c7a15 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -1386,7 +1386,14 @@ static int avi_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp ast= st->priv_data; index= av_index_search_timestamp(st, timestamp * FFMAX(ast->sample_size, 1), flags); if(index<0) + if (index<0) { + if (st->nb_index_entries > 0) + av_log(s, AV_LOG_ERROR, "Failed to find timestamp %"PRId64 " in index %"PRId64 " .. %"PRId64 "\n", + timestamp * FFMAX(ast->sample_size, 1), + st->index_entries[0].timestamp, + st->index_entries[st->nb_index_entries - 1].timestamp); return -1; + } /* find the position */ pos = st->index_entries[index].pos; @@ -1457,8 +1464,10 @@ static int avi_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp } /* do the seek */ - if (avio_seek(s->pb, pos_min, SEEK_SET) < 0) + if (avio_seek(s->pb, pos_min, SEEK_SET) < 0) { + av_log(s, AV_LOG_ERROR, "Seek failed\n"); return -1; + } avi->stream_index= -1; avi->dts_max= INT_MIN; return 0; -- GitLab