avformat: add AVInputFormat flag AVFMT_NO_BYTE_SEEK.
This will prevent seeking by bytes for formats that cannot handle this.
This commit is contained in:
parent
050e20aee6
commit
b631fba936
@ -13,6 +13,9 @@ libavutil: 2011-04-18
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2011-xx-xx - xxxxxxx - lavf 53.9.0
|
||||
Add AVFMT_NO_BYTE_SEEK AVInputFormat flag.
|
||||
|
||||
2011-10-12 - lavu 51.12.0
|
||||
AVOptions API rewrite.
|
||||
|
||||
|
@ -274,6 +274,7 @@ typedef struct AVFormatParameters {
|
||||
#define AVFMT_NOSTREAMS 0x1000 /**< Format does not require any streams */
|
||||
#define AVFMT_NOBINSEARCH 0x2000 /**< Format does not allow to fallback to binary search via read_timestamp */
|
||||
#define AVFMT_NOGENSEARCH 0x4000 /**< Format does not allow to fallback to generic search */
|
||||
#define AVFMT_NO_BYTE_SEEK 0x8000 /**< Format does not allow seeking by bytes */
|
||||
|
||||
typedef struct AVOutputFormat {
|
||||
const char *name;
|
||||
@ -408,7 +409,7 @@ typedef struct AVInputFormat {
|
||||
/**
|
||||
* Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,
|
||||
* AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,
|
||||
* AVFMT_NOGENSEARCH.
|
||||
* AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK.
|
||||
*/
|
||||
int flags;
|
||||
|
||||
|
@ -1750,6 +1750,8 @@ int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int f
|
||||
AVStream *st;
|
||||
|
||||
if (flags & AVSEEK_FLAG_BYTE) {
|
||||
if (s->iformat->flags & AVFMT_NO_BYTE_SEEK)
|
||||
return -1;
|
||||
ff_read_frame_flush(s);
|
||||
return seek_frame_byte(s, stream_index, timestamp, flags);
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include "libavutil/avutil.h"
|
||||
|
||||
#define LIBAVFORMAT_VERSION_MAJOR 53
|
||||
#define LIBAVFORMAT_VERSION_MINOR 8
|
||||
#define LIBAVFORMAT_VERSION_MINOR 9
|
||||
#define LIBAVFORMAT_VERSION_MICRO 0
|
||||
|
||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||
|
Loading…
x
Reference in New Issue
Block a user