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".