]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
fix mouse seeking when start time is not set, fix #1083
authorbcoudurier <bcoudurier@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Fri, 22 May 2009 23:08:07 +0000 (23:08 +0000)
committerbcoudurier <bcoudurier@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Fri, 22 May 2009 23:08:07 +0000 (23:08 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18902 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

ffplay.c

index 092a08824009ff5733bb04bc8b712b68b0a7f82d..de2bf98811b2879225bee67851c589d2f1b3a7e6 100644 (file)
--- a/ffplay.c
+++ b/ffplay.c
@@ -2368,6 +2368,7 @@ static void event_loop(void)
             break;
         case SDL_MOUSEBUTTONDOWN:
             if (cur_stream) {
+                int64_t ts;
                 int ns, hh, mm, ss;
                 int tns, thh, tmm, tss;
                 tns = cur_stream->ic->duration/1000000LL;
@@ -2381,7 +2382,10 @@ static void event_loop(void)
                 ss = (ns%60);
                 fprintf(stderr, "Seek to %2.0f%% (%2d:%02d:%02d) of total duration (%2d:%02d:%02d)       \n", frac*100,
                         hh, mm, ss, thh, tmm, tss);
-                stream_seek(cur_stream, (int64_t)(cur_stream->ic->start_time+frac*cur_stream->ic->duration), 0);
+                ts = frac*cur_stream->ic->duration;
+                if (cur_stream->ic->start_time != AV_NOPTS_VALUE)
+                    ts += cur_stream->ic->start_time;
+                stream_seek(cur_stream, ts, 0);
             }
             break;
         case SDL_VIDEORESIZE: