[FFmpeg-cvslog] lavf/http: deprecate user-agent option
Steven Liu
git at videolan.org
Sat Sep 17 14:53:45 EEST 2016
ffmpeg | branch: master | Steven Liu <lingjiujianke at gmail.com> | Fri Sep 16 10:42:34 2016 +0800| [27714b462d1bff9e9b40fbdabb39f58e79032b81] | committer: Clément Bœsch
lavf/http: deprecate user-agent option
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=27714b462d1bff9e9b40fbdabb39f58e79032b81
---
doc/protocols.texi | 4 +++-
libavformat/http.c | 13 ++++++++++++-
libavformat/version.h | 3 +++
3 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/doc/protocols.texi b/doc/protocols.texi
index 470c99c..3abc5f3 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -291,11 +291,13 @@ Use persistent connections if set to 1, default is 0.
@item post_data
Set custom HTTP post data.
- at item user-agent
@item user_agent
Override the User-Agent header. If not specified the protocol will use a
string describing the libavformat build. ("Lavf/<version>")
+ at item user-agent
+This is a deprecated option, you can use user_agent instead it.
+
@item timeout
Set timeout in microseconds of socket I/O operations used by the underlying low level
operation. By default it is set to -1, which means that the timeout is
diff --git a/libavformat/http.c b/libavformat/http.c
index adb3d92..5f6b9de 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -71,6 +71,9 @@ typedef struct HTTPContext {
char *headers;
char *mime_type;
char *user_agent;
+#ifdef FF_API_HTTP_USER_AGENT
+ char *user_agent_deprecated;
+#endif
char *content_type;
/* Set if the server correctly handles Connection: close and will close
* the connection after feeding us the content. */
@@ -131,7 +134,9 @@ static const AVOption options[] = {
{ "headers", "set custom HTTP headers, can override built in default headers", OFFSET(headers), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, D | E },
{ "content_type", "set a specific content type for the POST messages", OFFSET(content_type), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, D | E },
{ "user_agent", "override User-Agent header", OFFSET(user_agent), AV_OPT_TYPE_STRING, { .str = DEFAULT_USER_AGENT }, 0, 0, D },
- { "user-agent", "override User-Agent header", OFFSET(user_agent), AV_OPT_TYPE_STRING, { .str = DEFAULT_USER_AGENT }, 0, 0, D },
+#ifdef FF_API_HTTP_USER_AGENT
+ { "user-agent", "override User-Agent header", OFFSET(user_agent_deprecated), AV_OPT_TYPE_STRING, { .str = DEFAULT_USER_AGENT }, 0, 0, D },
+#endif
{ "multiple_requests", "use persistent connections", OFFSET(multiple_requests), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, D | E },
{ "post_data", "set custom HTTP post data", OFFSET(post_data), AV_OPT_TYPE_BINARY, .flags = D | E },
{ "mime_type", "export the MIME type", OFFSET(mime_type), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, AV_OPT_FLAG_EXPORT | AV_OPT_FLAG_READONLY },
@@ -1037,6 +1042,12 @@ static int http_connect(URLContext *h, const char *path, const char *local_path,
send_expect_100 = 1;
}
+#ifdef FF_API_HTTP_USER_AGENT
+ if (strcmp(s->user_agent_deprecated, DEFAULT_USER_AGENT)) {
+ av_log(s, AV_LOG_WARNING, "the user-agent option is deprecated, please use user_agent option\n");
+ s->user_agent = av_strdup(s->user_agent_deprecated);
+ }
+#endif
/* set default headers if needed */
if (!has_header(s->headers, "\r\nUser-Agent: "))
len += av_strlcatf(headers + len, sizeof(headers) - len,
diff --git a/libavformat/version.h b/libavformat/version.h
index 34226ca..a9a4d59 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -82,6 +82,9 @@
#ifndef FF_API_NOCONST_GET_SIDE_DATA
#define FF_API_NOCONST_GET_SIDE_DATA (LIBAVFORMAT_VERSION_MAJOR < 58)
#endif
+#ifndef FF_API_HTTP_USER_AGENT
+#define FF_API_HTTP_USER_AGENT (LIBAVFORMAT_VERSION_MAJOR < 58)
+#endif
#ifndef FF_API_R_FRAME_RATE
#define FF_API_R_FRAME_RATE 1
More information about the ffmpeg-cvslog
mailing list