diff options
author | Nicolas George <nicolas.george@normalesup.org> | 2011-02-04 19:12:36 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-02-06 20:31:46 +0100 |
commit | f4bd5800acc0cfcc26a28b3600c4c4c9077cc154 (patch) | |
tree | 376b029418549f636e83ed78918fe693910d352c | |
parent | e10976eb774f42ff806caabae78ec4a3f86195ca (diff) | |
download | ffmpeg-f4bd5800acc0cfcc26a28b3600c4c4c9077cc154.tar.gz |
Non-blocking protocols: flag and documentation
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit fe174fc8fc4bbdb050014a945de7eb9b28ba358e)
-rw-r--r-- | doc/APIchanges | 3 | ||||
-rw-r--r-- | libavformat/avio.h | 29 |
2 files changed, 29 insertions, 3 deletions
diff --git a/doc/APIchanges b/doc/APIchanges index 0699aa6f8d..5edd52d18b 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -13,6 +13,9 @@ libavutil: 2009-03-08 API changes, most recent first: +2011-02-XX - XXXXXXX - lavf 52.XX.0 - avio.h + Add flag for non-blocking protocols: URL_FLAG_NONBLOCK + 2011-02-04 - f124b08 - lavf 52.96.0 - avformat_free_context() Add avformat_free_context() in avformat.h. diff --git a/libavformat/avio.h b/libavformat/avio.h index a606f7cb97..d05cab1810 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -63,9 +63,32 @@ typedef struct URLPollEntry { int revents; } URLPollEntry; -#define URL_RDONLY 0 -#define URL_WRONLY 1 -#define URL_RDWR 2 +/** + * @defgroup open_modes URL open modes + * The flags argument to url_open and cosins must be one of the following + * constants, optionally ORed with other flags. + * @{ + */ +#define URL_RDONLY 0 /**< read-only */ +#define URL_WRONLY 1 /**< write-only */ +#define URL_RDWR 2 /**< read-write */ +/** + * @} + */ + +/** + * Use non-blocking mode. + * If this flag is set, operations on the context will return + * AVERROR(EAGAIN) if they can not be performed immediately. + * If this flag is not set, operations on the context will never return + * AVERROR(EAGAIN). + * Note that this flag does not affect the opening/connecting of the + * context. Connecting a protocol will always block if necessary (e.g. on + * network protocols) but never hang (e.g. on busy devices). + * Warning: non-blocking protocols is work-in-progress; this flag may be + * silently ignored. + */ +#define URL_FLAG_NONBLOCK 4 typedef int URLInterruptCB(void); |