From 2fd148032c4c3afdbd9d0de34c5ee2a3ba742b78 Mon Sep 17 00:00:00 2001 From: Donat Zenichev Date: Thu, 3 Jul 2025 17:08:08 +0200 Subject: [PATCH] MT#61856 recording-daemon: update const qualifiers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Don't use const in: - output_avio_mem_write() - output_avio_write() `avio_alloc_context()` of avio.h lib wants buf to be non-constant. Also it's the only usage of locally defined funcs, moreover: - output_avio_write() has fwrite() that protects buf with const - output_avio_mem_write() casts given buf to `const char*` Fixes: output.c: In function ‘output_config’: output.c:405:39: warning: passing argument 6 of ‘avio_alloc_context’ from incompatible pointer type [-Wincompatible-pointer-types] 405 | NULL, output_avio_write, output_avio_seek); | ^~~~~~~~~~~~~~~~~ | | | int (*)(void *, const uint8_t *, int) {aka int (*)(void *, const unsigned char *, int)} In file included from /usr/include/x86_64-linux-gnu/libavformat/avformat.h:316, from types.h:9, from output.h:4, from output.c:1: /usr/include/x86_64-linux-gnu/libavformat/avio.h:468:25: note: expected ‘int (*)(void *, uint8_t *, int)’ {aka ‘int (*)(void *, unsigned char *, int)’} but argument is of type ‘int (*)(void *, const uint8_t *, int)’ {aka ‘int (*)(void *, const unsigned char *, int)’} 468 | int (*write_packet)(void *opaque, uint8_t *buf, int buf_size), | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ int (*)(void *, const uint8_t *, int) {aka int (*)(void *, const unsigned char *, int)} int (*)(void *, const uint8_t *, int) output.c:409:39: warning: passing argument 6 of ‘avio_alloc_context’ from incompatible pointer type [-Wincompatible-pointer-types] 409 | NULL, output_avio_mem_write, output_avio_mem_seek); | ^~~~~~~~~~~~~~~~~~~~~ | | | int (*)(void *, const uint8_t *, int) {aka int (*)(void *, const unsigned char *, int)} In file included from /usr/include/x86_64-linux-gnu/libavformat/avformat.h:316, from types.h:9, from output.h:4, from output.c:1: /usr/include/x86_64-linux-gnu/libavformat/avio.h:468:25: note: expected ‘int (*)(void *, uint8_t *, int)’ {aka ‘int (*)(void *, unsigned char *, int)’} but argument is of type ‘int (*)(void *, const uint8_t *, int)’ {aka ‘int (*)(void *, const unsigned char *, int)’} 468 | int (*write_packet)(void *opaque, uint8_t *buf, int buf_size), | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: Leaving directory '/home/donat/git/sipwise/rtpengine/recording-daemon' Change-Id: Ied4936fe24d55c241a3f72550e643368a014c181 --- recording-daemon/output.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/recording-daemon/output.c b/recording-daemon/output.c index fd3de25dc..31d076907 100644 --- a/recording-daemon/output.c +++ b/recording-daemon/output.c @@ -317,7 +317,11 @@ output_t *output_new_ext(metafile_t *mf, const char *type, const char *kind, con return ret; } +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(61, 0, 0) int output_avio_write(void *opaque, const uint8_t *buf, int buf_size) { +#else +int output_avio_write(void *opaque, uint8_t *buf, int buf_size) { +#endif output_t *o = opaque; ssize_t written = fwrite(buf, buf_size, 1, o->fp); if (written == 1) @@ -331,7 +335,11 @@ int64_t output_avio_seek(void *opaque, int64_t offset, int whence) { return ftell(o->fp); } +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(61, 0, 0) int output_avio_mem_write(void *opaque, const uint8_t *buf, int buf_size) { +#else +int output_avio_mem_write(void *opaque, uint8_t *buf, int buf_size) { +#endif output_t *o = opaque; g_string_overwrite_len(o->membuf, o->mempos, (const char *) buf, buf_size); o->mempos += buf_size;