mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
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: Steven Liu <lq@onvideo.cn> Signed-off-by: vectronic <hello.vectronic@gmail.com>
This commit is contained in:
parent
afab93ccd0
commit
e81c686a95
@ -320,8 +320,11 @@ int ff_http_get_shutdown_status(URLContext *h)
|
|||||||
return ret;
|
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;
|
HTTPContext *s = h->priv_data;
|
||||||
AVDictionary *options = NULL;
|
AVDictionary *options = NULL;
|
||||||
@ -366,6 +369,9 @@ int ff_http_do_new_request(URLContext *h, const char *uri)
|
|||||||
if (!s->location)
|
if (!s->location)
|
||||||
return AVERROR(ENOMEM);
|
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");
|
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);
|
ret = http_open_cnx(h, &options);
|
||||||
av_dict_free(&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);
|
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);
|
int ff_http_averror(int status_code, int default_averror);
|
||||||
|
|
||||||
#endif /* AVFORMAT_HTTP_H */
|
#endif /* AVFORMAT_HTTP_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user