|  |  | @@ -101,16 +101,13 @@ static int zmq_proto_open(URLContext *h, const char *uri, int flags) | 
		
	
		
			
			|  |  |  | s->socket = zmq_socket(s->context, ZMQ_PUB); | 
		
	
		
			
			|  |  |  | if (!s->socket) { | 
		
	
		
			
			|  |  |  | av_log(h, AV_LOG_ERROR, "Error occured during zmq_socket(): %s\n", ZMQ_STRERROR); | 
		
	
		
			
			|  |  |  | zmq_ctx_term(s->context); | 
		
	
		
			
			|  |  |  | return AVERROR_EXTERNAL; | 
		
	
		
			
			|  |  |  | goto fail_term; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | ret = zmq_bind(s->socket, uri); | 
		
	
		
			
			|  |  |  | if (ret == -1) { | 
		
	
		
			
			|  |  |  | av_log(h, AV_LOG_ERROR, "Error occured during zmq_bind(): %s\n", ZMQ_STRERROR); | 
		
	
		
			
			|  |  |  | zmq_close(s->socket); | 
		
	
		
			
			|  |  |  | zmq_ctx_term(s->context); | 
		
	
		
			
			|  |  |  | return AVERROR_EXTERNAL; | 
		
	
		
			
			|  |  |  | goto fail_close; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
				|  |  | @@ -119,27 +116,28 @@ static int zmq_proto_open(URLContext *h, const char *uri, int flags) | 
		
	
		
			
			|  |  |  | s->socket = zmq_socket(s->context, ZMQ_SUB); | 
		
	
		
			
			|  |  |  | if (!s->socket) { | 
		
	
		
			
			|  |  |  | av_log(h, AV_LOG_ERROR, "Error occured during zmq_socket(): %s\n", ZMQ_STRERROR); | 
		
	
		
			
			|  |  |  | zmq_ctx_term(s->context); | 
		
	
		
			
			|  |  |  | return AVERROR_EXTERNAL; | 
		
	
		
			
			|  |  |  | goto fail_term; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | ret = zmq_setsockopt(s->socket, ZMQ_SUBSCRIBE, "", 0); | 
		
	
		
			
			|  |  |  | if (ret == -1) { | 
		
	
		
			
			|  |  |  | av_log(h, AV_LOG_ERROR, "Error occured during zmq_setsockopt(): %s\n", ZMQ_STRERROR); | 
		
	
		
			
			|  |  |  | zmq_close(s->socket); | 
		
	
		
			
			|  |  |  | zmq_ctx_term(s->context); | 
		
	
		
			
			|  |  |  | return AVERROR_EXTERNAL; | 
		
	
		
			
			|  |  |  | goto fail_close; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | ret = zmq_connect(s->socket, uri); | 
		
	
		
			
			|  |  |  | if (ret == -1) { | 
		
	
		
			
			|  |  |  | av_log(h, AV_LOG_ERROR, "Error occured during zmq_connect(): %s\n", ZMQ_STRERROR); | 
		
	
		
			
			|  |  |  | zmq_close(s->socket); | 
		
	
		
			
			|  |  |  | zmq_ctx_term(s->context); | 
		
	
		
			
			|  |  |  | return AVERROR_EXTERNAL; | 
		
	
		
			
			|  |  |  | goto fail_close; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | return 0; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | fail_close: | 
		
	
		
			
			|  |  |  | zmq_close(s->socket); | 
		
	
		
			
			|  |  |  | fail_term: | 
		
	
		
			
			|  |  |  | zmq_ctx_term(s->context); | 
		
	
		
			
			|  |  |  | return AVERROR_EXTERNAL; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | static int zmq_proto_write(URLContext *h, const unsigned char *buf, int size) | 
		
	
	
		
			
				|  |  | 
 |