On Tue, Jan 26, 2016 at 09:03:05AM +0100, Paul B Mahol wrote: > On 1/26/16, Michael Niedermayer <[email protected]> wrote: > > On Mon, Jan 25, 2016 at 11:02:35PM +0100, Paul B Mahol wrote: > >> On 1/25/16, Michael Niedermayer <[email protected]> wrote: > >> > On Mon, Jan 25, 2016 at 10:29:08PM +0100, Paul B Mahol wrote: > >> >> On 1/25/16, Michael Niedermayer <[email protected]> wrote: > >> >> > On Sun, Nov 22, 2015 at 12:58:51AM +0100, Paul B Mahol wrote: > >> >> >> Signed-off-by: Paul B Mahol <[email protected]> > >> >> >> --- > >> >> >> 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 [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
