On Sun, 8 Mar 2020, Andriy Gelman wrote:

From: Andriy Gelman <andriy.gel...@gmail.com>

Supports connecting to a RabbitMQ broker via AMQP version 0-9-1.

Signed-off-by: Andriy Gelman <andriy.gel...@gmail.com>
---

Changes in v3:
   - Fixed a bug when parsing username that contained a url encoded ":"
   - Fixed documentation error and improved logging

Changes in v2:
   - Addressed comments from Marton
   - Updated documentation

Compilation notes:
   - Requires librabbitmq-dev package (on ubuntu).
   - The pkg-config libprabbitmq.pc has a corrupt entry.
     **update: fixed on the github master branch**
     The line "Libs.private: rt; -lpthread" should be changed to
     "Libs.private: -lrt -pthread".
   - Compile FFmpeg with --enable-librabbitmq

Changelog               |   1 +
configure               |   5 +
doc/general.texi        |   1 +
doc/protocols.texi      |  60 ++++++++
libavformat/Makefile    |   1 +
libavformat/libamqp.c   | 296 ++++++++++++++++++++++++++++++++++++++++
libavformat/protocols.c |   1 +
libavformat/version.h   |   4 +-
8 files changed, 367 insertions(+), 2 deletions(-)
create mode 100644 libavformat/libamqp.c

[...]

+    password_decoded = ff_urldecode(password, 0);
+    if (!password_decoded)
+        return AVERROR(ENOMEM);
+
+    user = credentials;
+    if (*user == '\0')
+        user = "guest";
+
+    user_decoded = ff_urldecode(user, 0);
+    if (!user_decoded) {
+        av_freep(&password_decoded);
+        return AVERROR(ENOMEM);
+    }
+
+    s->conn = amqp_new_connection();
+    if (!s->conn) {
+        av_log(h, AV_LOG_ERROR, "Error creating connection\n");
+        return AVERROR_EXTERNAL;

This is leaking username and password.

Other than that, it looks good. I hope we resolved the usefulness concerns, so I plan to apply this tomorrow.

Thanks,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to