From patchwork Thu Dec 17 20:34:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Levis X-Patchwork-Id: 24579 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id E705044A1FE for ; Thu, 17 Dec 2020 22:43:02 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C935068AA48; Thu, 17 Dec 2020 22:43:02 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6C12968AA47 for ; Thu, 17 Dec 2020 22:42:56 +0200 (EET) Received: by mail-wm1-f45.google.com with SMTP id y23so201622wmi.1 for ; Thu, 17 Dec 2020 12:42:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=qJduwKmZ14s2H+x4TGlTvZy7up/R8n4zMvMAra5YHjk=; b=Aw37tHb+NY8QQn25jzfaC3SgHYLY95Ao5eByCtyMUbfuvpNIhhOpiB+HTTSH+98UcS YkKqLtcRWRRNbBrxGjG3s3m83+multN7IUXyamG4FEEL+8XXGuQNb/OwJb+EKyHjy1XR DXLsAH5WrDFf9E+Q4Fq1qqEvNlsEsXLehh+E6WDozh1BNIRm0OutoWi05CTTz3RTt+/1 TnhGpx7mAkVguPYiCPAAwtw+xHVHTHVayzNZPf2AF2ZrxARDF2UtsnrLEJc+uUf7KSJs edg18lNfAzXen8VCH8GGr2gI3q8kcRijcbE/u02id6MIpeSk45hmdg9LiUUfDCX8udU6 n8WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=qJduwKmZ14s2H+x4TGlTvZy7up/R8n4zMvMAra5YHjk=; b=H0d/3H1hUgYTifDJCIy2ReJlcVvPuo0WTLQNe4PWG3YYQP0GdtfQuUP0Y1UuQw938t Zop//9AGpJNwzCItnPgdhuuT0XSZAofjug3J/iaJxUpLGIz5l1KkBYd2p8VdbjP44NRJ gaoq8WGMIRaYUVb9JUvfxCB8UdTDfvQCLLvWQLdGZYxDE1Txb2e/Kq4NKodPUlBLG6ON f7bzj3KUk7augbIw5smok0a+bGLT+BfZczTVvpdNP6Bmam6WO47WG+Bg87pzpdlZuA7H 5lG17gHGdZcMzEBwgoAe+PxoOyiSkysMwCNtat7xbdWwTWVI3HUkeJSHgvdgWLbyjikV d6ew== X-Gm-Message-State: AOAM531sdjPpwGxUgwWFWcjYh8IISPP0F7LOAr/1yNVPP2aD8iVL2jRo nBKuLLmhv+x+XFk1xMfR9J/1ZAsnm7qaHw== X-Google-Smtp-Source: ABdhPJx3vkN9hNxhW+/LBueqYOKNk1bw1ViLstFVzmZBg8K08xKQAqPwAx6UQNlkmy7rFpZfkAClSQ== X-Received: by 2002:a1c:5f8a:: with SMTP id t132mr1012408wmb.121.1608237278748; Thu, 17 Dec 2020 12:34:38 -0800 (PST) Received: from localhost.localdomain ([2a01:e0a:1b4:9a30:e5ea:d694:bd17:ac79]) by smtp.gmail.com with ESMTPSA id m2sm8874348wml.34.2020.12.17.12.34.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 17 Dec 2020 12:34:38 -0800 (PST) From: Florian Levis To: ffmpeg-devel@ffmpeg.org Date: Thu, 17 Dec 2020 21:34:22 +0100 Message-Id: <20201217203422.43071-1-levis.florian@gmail.com> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/libamqp: add option vhost X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Florian Levis , Florian Levis Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Florian Levis Add option vhost to allow publishing on other vhost than default '/' Signed-off-by: Florian Levis --- doc/protocols.texi | 3 +++ libavformat/libamqp.c | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/protocols.texi b/doc/protocols.texi index b4efa14509..8c7e4c7c52 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -84,6 +84,9 @@ The following options are supported: @table @option +@item vhost +Sets the vhost to use on the broker. Default is "/". + @item exchange Sets the exchange to use on the broker. RabbitMQ has several predefined exchanges: "amq.direct" is the default exchange, where the publisher and diff --git a/libavformat/libamqp.c b/libavformat/libamqp.c index 81df724a6d..1465a4a133 100644 --- a/libavformat/libamqp.c +++ b/libavformat/libamqp.c @@ -34,6 +34,7 @@ typedef struct AMQPContext { const AVClass *class; amqp_connection_state_t conn; amqp_socket_t *socket; + const char *vhost; const char *exchange; const char *routing_key; int pkt_size; @@ -50,6 +51,7 @@ typedef struct AMQPContext { #define E AV_OPT_FLAG_ENCODING_PARAM static const AVOption options[] = { { "pkt_size", "Maximum send/read packet size", OFFSET(pkt_size), AV_OPT_TYPE_INT, { .i64 = 131072 }, 4096, INT_MAX, .flags = D | E }, + { "vhost", "vhost to send/read packets", OFFSET(vhost), AV_OPT_TYPE_STRING, { .str = "/" }, 0, 0, .flags = D | E }, { "exchange", "Exchange to send/read packets", OFFSET(exchange), AV_OPT_TYPE_STRING, { .str = "amq.direct" }, 0, 0, .flags = D | E }, { "routing_key", "Key to filter streams", OFFSET(routing_key), AV_OPT_TYPE_STRING, { .str = "amqp" }, 0, 0, .flags = D | E }, { "connection_timeout", "Initial connection timeout", OFFSET(connection_timeout), AV_OPT_TYPE_DURATION, { .i64 = -1 }, -1, INT64_MAX, .flags = D | E}, @@ -136,7 +138,7 @@ static int amqp_proto_open(URLContext *h, const char *uri, int flags) goto destroy_connection; } - broker_reply = amqp_login(s->conn, "/", 0, s->pkt_size, 0, + broker_reply = amqp_login(s->conn, s->vhost, 0, s->pkt_size, 0, AMQP_SASL_METHOD_PLAIN, user_decoded, password_decoded); if (broker_reply.reply_type != AMQP_RESPONSE_NORMAL) {