summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2016-09-27 15:44:54 +0200
committerAnton Khirnov <anton@khirnov.net>2016-09-30 16:55:45 +0200
commit8ea35af7620e4f73f9e8c072e1c0fac9a04ec161 (patch)
treeda2d061e034641f00bf07954247dc57a99f50b49 /libavformat
parent75c1db6152c7c90c7ce28c9adb945028e5512c4f (diff)
avio: add a new flag for marking streams seekable by timestamp
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/avio.h5
-rw-r--r--libavformat/aviobuf.c3
-rw-r--r--libavformat/version.h4
3 files changed, 10 insertions, 2 deletions
diff --git a/libavformat/avio.h b/libavformat/avio.h
index 5d2f8c2031..49721aa131 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -40,6 +40,11 @@
#define AVIO_SEEKABLE_NORMAL (1 << 0)
/**
+ * Seeking by timestamp with avio_seek_time() is possible.
+ */
+#define AVIO_SEEKABLE_TIME (1 << 1)
+
+/**
* Callback for checking whether to abort blocking functions.
* AVERROR_EXIT is returned in this case by the interrupted
* function. During blocking operations, callback is called with
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index 39a11e21c4..5cb733d3d8 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -846,6 +846,9 @@ int ffio_fdopen(AVIOContext **s, URLContext *h)
if(h->prot) {
(*s)->read_pause = io_read_pause;
(*s)->read_seek = io_read_seek;
+
+ if (h->prot->url_read_seek)
+ (*s)->seekable |= AVIO_SEEKABLE_TIME;
}
(*s)->av_class = &ff_avio_class;
return 0;
diff --git a/libavformat/version.h b/libavformat/version.h
index 1e1105fe5c..a6643a9e25 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -30,8 +30,8 @@
#include "libavutil/version.h"
#define LIBAVFORMAT_VERSION_MAJOR 57
-#define LIBAVFORMAT_VERSION_MINOR 7
-#define LIBAVFORMAT_VERSION_MICRO 1
+#define LIBAVFORMAT_VERSION_MINOR 8
+#define LIBAVFORMAT_VERSION_MICRO 0
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \