You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avformat/tls: add tls url_get_file_handle
Support url_get_file_handle on TLS streams. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
		
				
					committed by
					
						 Michael Niedermayer
						Michael Niedermayer
					
				
			
			
				
	
			
			
			
						parent
						
							6b517a194d
						
					
				
				
					commit
					295601bba3
				
			| @@ -235,6 +235,12 @@ static int tls_write(URLContext *h, const uint8_t *buf, int size) | ||||
|     return print_tls_error(h, ret); | ||||
| } | ||||
|  | ||||
| static int tls_get_file_handle(URLContext *h) | ||||
| { | ||||
|     TLSContext *c = h->priv_data; | ||||
|     return ffurl_get_file_handle(c->tls_shared.tcp); | ||||
| } | ||||
|  | ||||
| static const AVOption options[] = { | ||||
|     TLS_COMMON_OPTIONS(TLSContext, tls_shared), | ||||
|     { NULL } | ||||
| @@ -253,6 +259,7 @@ const URLProtocol ff_tls_gnutls_protocol = { | ||||
|     .url_read       = tls_read, | ||||
|     .url_write      = tls_write, | ||||
|     .url_close      = tls_close, | ||||
|     .url_get_file_handle = tls_get_file_handle, | ||||
|     .priv_data_size = sizeof(TLSContext), | ||||
|     .flags          = URL_PROTOCOL_FLAG_NETWORK, | ||||
|     .priv_data_class = &tls_class, | ||||
|   | ||||
| @@ -325,6 +325,12 @@ static int tls_write(URLContext *h, const uint8_t *buf, int size) | ||||
|     return print_tls_error(h, ret); | ||||
| } | ||||
|  | ||||
| static int tls_get_file_handle(URLContext *h) | ||||
| { | ||||
|     TLSContext *c = h->priv_data; | ||||
|     return ffurl_get_file_handle(c->tls_shared.tcp); | ||||
| } | ||||
|  | ||||
| static const AVOption options[] = { | ||||
|     TLS_COMMON_OPTIONS(TLSContext, tls_shared), | ||||
|     { NULL } | ||||
| @@ -343,6 +349,7 @@ const URLProtocol ff_tls_openssl_protocol = { | ||||
|     .url_read       = tls_read, | ||||
|     .url_write      = tls_write, | ||||
|     .url_close      = tls_close, | ||||
|     .url_get_file_handle = tls_get_file_handle, | ||||
|     .priv_data_size = sizeof(TLSContext), | ||||
|     .flags          = URL_PROTOCOL_FLAG_NETWORK, | ||||
|     .priv_data_class = &tls_class, | ||||
|   | ||||
| @@ -577,6 +577,12 @@ done: | ||||
|     return ret < 0 ? ret : outbuf[1].cbBuffer; | ||||
| } | ||||
|  | ||||
| static int tls_get_file_handle(URLContext *h) | ||||
| { | ||||
|     TLSContext *c = h->priv_data; | ||||
|     return ffurl_get_file_handle(c->tls_shared.tcp); | ||||
| } | ||||
|  | ||||
| static const AVOption options[] = { | ||||
|     TLS_COMMON_OPTIONS(TLSContext, tls_shared), | ||||
|     { NULL } | ||||
| @@ -595,6 +601,7 @@ const URLProtocol ff_tls_schannel_protocol = { | ||||
|     .url_read       = tls_read, | ||||
|     .url_write      = tls_write, | ||||
|     .url_close      = tls_close, | ||||
|     .url_get_file_handle = tls_get_file_handle, | ||||
|     .priv_data_size = sizeof(TLSContext), | ||||
|     .flags          = URL_PROTOCOL_FLAG_NETWORK, | ||||
|     .priv_data_class = &tls_class, | ||||
|   | ||||
| @@ -375,6 +375,12 @@ static int tls_write(URLContext *h, const uint8_t *buf, int size) | ||||
|     return print_tls_error(h, ret); | ||||
| } | ||||
|  | ||||
| static int tls_get_file_handle(URLContext *h) | ||||
| { | ||||
|     TLSContext *c = h->priv_data; | ||||
|     return ffurl_get_file_handle(c->tls_shared.tcp); | ||||
| } | ||||
|  | ||||
| static const AVOption options[] = { | ||||
|     TLS_COMMON_OPTIONS(TLSContext, tls_shared), | ||||
|     { NULL } | ||||
| @@ -393,6 +399,7 @@ const URLProtocol ff_tls_securetransport_protocol = { | ||||
|     .url_read       = tls_read, | ||||
|     .url_write      = tls_write, | ||||
|     .url_close      = tls_close, | ||||
|     .url_get_file_handle = tls_get_file_handle, | ||||
|     .priv_data_size = sizeof(TLSContext), | ||||
|     .flags          = URL_PROTOCOL_FLAG_NETWORK, | ||||
|     .priv_data_class = &tls_class, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user