summaryrefslogtreecommitdiff
path: root/libavformat/libzmq.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/libzmq.c')
-rw-r--r--libavformat/libzmq.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libavformat/libzmq.c b/libavformat/libzmq.c
index d86488293f..2df55542c7 100644
--- a/libavformat/libzmq.c
+++ b/libavformat/libzmq.c
@@ -123,7 +123,14 @@ static int zmq_proto_open(URLContext *h, const char *uri, int flags)
return AVERROR_EXTERNAL;
}
- zmq_setsockopt(s->socket, ZMQ_SUBSCRIBE, "", 0);
+ 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;
+ }
+
ret = zmq_connect(s->socket, uri);
if (ret == -1) {
av_log(h, AV_LOG_ERROR, "Error occured during zmq_connect(): %s\n", ZMQ_STRERROR);