diff --git a/doc/APIchanges b/doc/APIchanges index aadf164254..eccfb70899 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,9 @@ libavutil: 2015-08-28 API changes, most recent first: +2017-03-21 - xxxxxxx - lavf 57.67.100 / 57.08.0 - avio.h + Add AVIO_SEEKABLE_TIME flag. + 2017-03-21 - xxxxxxx - lavf 57.66.105, lavc 57.83.101 - avformat.h, avcodec.h Deprecate AVFMT_FLAG_KEEP_SIDE_DATA. It will be ignored after the next major bump, and libavformat will behave as if it were always set. diff --git a/libavformat/avio.h b/libavformat/avio.h index cec7fd74d9..6f4ed8440d 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -39,6 +39,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 diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 5f58ab064b..ef6a0d4e9b 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -934,6 +934,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)->short_seek_get = io_short_seek; (*s)->av_class = &ff_avio_class; diff --git a/libavformat/version.h b/libavformat/version.h index bfc42e3f15..dd4c680803 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -32,8 +32,8 @@ // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium) // Also please add any ticket numbers that you believe might be affected here #define LIBAVFORMAT_VERSION_MAJOR 57 -#define LIBAVFORMAT_VERSION_MINOR 66 -#define LIBAVFORMAT_VERSION_MICRO 105 +#define LIBAVFORMAT_VERSION_MINOR 67 +#define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \