avformat/concatdec: always allow seeking to start
authorMarton Balint <cus@passwd.hu>
Thu, 13 Dec 2018 21:13:09 +0000 (22:13 +0100)
committerMarton Balint <cus@passwd.hu>
Sun, 30 Dec 2018 20:06:19 +0000 (21:06 +0100)
Signed-off-by: Marton Balint <cus@passwd.hu>
libavformat/concatdec.c

index bbe1313..3ed95a4 100644 (file)
@@ -692,6 +692,13 @@ static int real_seek(AVFormatContext *avf, int stream,
 
     left  = 0;
     right = cat->nb_files;
+
+    /* Always support seek to start */
+    if (ts <= 0)
+        right = 1;
+    else if (!cat->seekable)
+        return AVERROR(ESPIPE); /* XXX: can we use it? */
+
     while (right - left > 1) {
         int mid = (left + right) / 2;
         if (ts < cat->files[mid].start_time)
@@ -728,8 +735,6 @@ static int concat_seek(AVFormatContext *avf, int stream,
     AVFormatContext *cur_avf_saved = cat->avf;
     int ret;
 
-    if (!cat->seekable)
-        return AVERROR(ESPIPE); /* XXX: can we use it? */
     if (flags & (AVSEEK_FLAG_BYTE | AVSEEK_FLAG_FRAME))
         return AVERROR(ENOSYS);
     cat->avf = NULL;