summaryrefslogtreecommitdiff
path: root/libavformat/concatdec.c
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2018-12-13 22:13:09 +0100
committerMarton Balint <cus@passwd.hu>2018-12-30 21:06:19 +0100
commit7f42276aa91c5fe1ad43f43e58a7645a674a3fda (patch)
treebf5941cb38abf7b16ab8ee79eae627f611ac7a99 /libavformat/concatdec.c
parentf9e947845f9ac5ccb84cf5e6f4121ec2e23b9946 (diff)
avformat/concatdec: always allow seeking to start
Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavformat/concatdec.c')
-rw-r--r--libavformat/concatdec.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c
index bbe13136fa..3ed95a4538 100644
--- a/libavformat/concatdec.c
+++ b/libavformat/concatdec.c
@@ -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;