From 5593f031489f54ad184dd2d2744e31006c8627a5 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 7 Apr 2011 21:01:17 +0200 Subject: [PATCH] avio: make URLProtocol internal. --- libavformat/avio.h | 6 +++++- libavformat/url.h | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/libavformat/avio.h b/libavformat/avio.h index a97d6308ac..c39d2a0444 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -139,8 +139,11 @@ attribute_deprecated int url_poll(URLPollEntry *poll_table, int n, int timeout); #define URL_PROTOCOL_FLAG_NESTED_SCHEME 1 /*< The protocol name can be the first part of a nested protocol scheme */ -#endif +/** + * @deprecated This struct is to be made private. Use the higher-level + * AVIOContext-based API instead. + */ typedef struct URLProtocol { const char *name; int (*url_open)(URLContext *h, const char *url, int flags); @@ -157,6 +160,7 @@ typedef struct URLProtocol { const AVClass *priv_data_class; int flags; } URLProtocol; +#endif #if FF_API_REGISTER_PROTOCOL extern URLProtocol *first_protocol; diff --git a/libavformat/url.h b/libavformat/url.h index b6c110dfe9..bde06d91da 100644 --- a/libavformat/url.h +++ b/libavformat/url.h @@ -43,6 +43,23 @@ typedef struct URLContext { int is_streamed; /**< true if streamed (no seek possible), default = false */ int is_connected; } URLContext; + +typedef struct URLProtocol { + const char *name; + int (*url_open)( URLContext *h, const char *url, int flags); + int (*url_read)( URLContext *h, unsigned char *buf, int size); + int (*url_write)(URLContext *h, const unsigned char *buf, int size); + int64_t (*url_seek)( URLContext *h, int64_t pos, int whence); + int (*url_close)(URLContext *h); + struct URLProtocol *next; + int (*url_read_pause)(URLContext *h, int pause); + int64_t (*url_read_seek)(URLContext *h, int stream_index, + int64_t timestamp, int flags); + int (*url_get_file_handle)(URLContext *h); + int priv_data_size; + const AVClass *priv_data_class; + int flags; +} URLProtocol; #endif /**