You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +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:
		| @@ -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 */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user