On Tue, Jan 26, 2016 at 09:03:05AM +0100, Paul B Mahol wrote: > On 1/26/16, Michael Niedermayer <mich...@niedermayer.cc> wrote: > > On Mon, Jan 25, 2016 at 11:02:35PM +0100, Paul B Mahol wrote: > >> On 1/25/16, Michael Niedermayer <mich...@niedermayer.cc> wrote: > >> > On Mon, Jan 25, 2016 at 10:29:08PM +0100, Paul B Mahol wrote: > >> >> On 1/25/16, Michael Niedermayer <mich...@niedermayer.cc> wrote: > >> >> > On Sun, Nov 22, 2015 at 12:58:51AM +0100, Paul B Mahol wrote: > >> >> >> Signed-off-by: Paul B Mahol <one...@gmail.com> > >> >> >> --- > >> >> >> libavformat/thp.c | 44 > >> >> >> +++++++++++++++++++++++++++++++++++++++++--- > >> >> >> 1 file changed, 41 insertions(+), 3 deletions(-) > >> >> > > >> >> > confirmed to be working > >> >> > >> >> No, it doesnt always. AFAIK its not possible to fix. > >> > > >> > it worked with the thp files i had locally :( > >> > where can i find a file with which it doesnt work ? > >> > >> https://www.dropbox.com/s/zr8034va0y6tfyy/KilllaKillOP.thp > > > > seeking (clicking right/left arrows in ffplay) seems to work with > > this file too > > > > but with mouse, doesnt?
needs something like this: diff --git a/libavformat/thp.c b/libavformat/thp.c index 9d54219..38d67b8 100644 --- a/libavformat/thp.c +++ b/libavformat/thp.c @@ -223,7 +223,7 @@ static int thp_read_seek(AVFormatContext *s, int stream_index, if (stream_index != thp->video_stream_index) return -1; - if (index >= 0 && index < st->nb_index_entries) { + if (index >= 0 && index < st->nb_index_entries && st->index_entries[index].timestamp >= timestamp) { AVIndexEntry *e = &st->index_entries[index]; thp->next_frame = e->pos; OR diff --git a/libavformat/thp.c b/libavformat/thp.c index 9d54219..9892d61 100644 --- a/libavformat/thp.c +++ b/libavformat/thp.c @@ -218,7 +218,7 @@ static int thp_read_seek(AVFormatContext *s, int stream_index, { ThpDemuxContext *thp = s->priv_data; AVStream *st = s->streams[stream_index]; - int index = av_index_search_timestamp(st, timestamp, flags); + int index = av_index_search_timestamp(st, timestamp, flags & ~AVSEEK_FLAG_BACKWARD); if (stream_index != thp->video_stream_index) return -1; [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The worst form of inequality is to try to make unequal things equal. -- Aristotle
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel