Commit e81c686a authored by vectronic's avatar vectronic Committed by Steven Liu

avformat/http: add ff_http_do_new_request2 for options

add ff_http_do_new_request2() which supports options to be applied to
HTTPContext after initialisation with the new uri
Signed-off-by: 's avatarSteven Liu <lq@onvideo.cn>
Signed-off-by: 's avatarvectronic <hello.vectronic@gmail.com>
parent afab93cc
......@@ -320,8 +320,11 @@ int ff_http_get_shutdown_status(URLContext *h)
return ret;
}
int ff_http_do_new_request(URLContext *h, const char *uri) {
return ff_http_do_new_request2(h, uri, NULL);
}
int ff_http_do_new_request(URLContext *h, const char *uri)
int ff_http_do_new_request2(URLContext *h, const char *uri, AVDictionary **opts)
{
HTTPContext *s = h->priv_data;
AVDictionary *options = NULL;
......@@ -366,6 +369,9 @@ int ff_http_do_new_request(URLContext *h, const char *uri)
if (!s->location)
return AVERROR(ENOMEM);
if ((ret = av_opt_set_dict(s, opts)) < 0)
return ret;
av_log(s, AV_LOG_INFO, "Opening \'%s\' for %s\n", uri, h->flags & AVIO_FLAG_WRITE ? "writing" : "reading");
ret = http_open_cnx(h, &options);
av_dict_free(&options);
......
......@@ -56,6 +56,19 @@ int ff_http_get_shutdown_status(URLContext *h);
*/
int ff_http_do_new_request(URLContext *h, const char *uri);
/**
* Send a new HTTP request, reusing the old connection.
*
* @param h pointer to the resource
* @param uri uri used to perform the request
* @param options A dictionary filled with HTTP options. On return
* this parameter will be destroyed and replaced with a dict containing options
* that were not found. May be NULL.
* @return a negative value if an error condition occurred, 0
* otherwise
*/
int ff_http_do_new_request2(URLContext *h, const char *uri, AVDictionary **options);
int ff_http_averror(int status_code, int default_averror);
#endif /* AVFORMAT_HTTP_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment