0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00

obs-ffmpeg: Fix incompatible-pointer-types with FFmpeg 7

This commit is contained in:
tytan652 2024-04-06 08:50:07 +02:00 committed by Lain
parent 01610d8c06
commit 8dbad9ac29
2 changed files with 17 additions and 6 deletions

View File

@ -886,7 +886,12 @@ static int64_t ffmpeg_mux_seek_av_buffer(void *opaque, int64_t offset,
return 0;
}
#if LIBAVFORMAT_VERSION_MAJOR >= 61
static int ffmpeg_mux_write_av_buffer(void *opaque, const uint8_t *buf,
int buf_size)
#else
static int ffmpeg_mux_write_av_buffer(void *opaque, uint8_t *buf, int buf_size)
#endif
{
struct ffmpeg_mux *ffm = opaque;

View File

@ -421,6 +421,12 @@ fail:
return err;
}
#if LIBAVFORMAT_VERSION_MAJOR >= 61
typedef int (*write_packet_cb)(void *, const uint8_t *, int);
#else
typedef int (*write_packet_cb)(void *, uint8_t *, int);
#endif
static inline int allocate_custom_aviocontext(struct ffmpeg_output *stream,
bool is_rist)
{
@ -437,13 +443,13 @@ static inline int allocate_custom_aviocontext(struct ffmpeg_output *stream,
return AVERROR(ENOMEM);
/* allocate custom avio_context */
if (is_rist)
s = avio_alloc_context(
buffer, buffer_size, AVIO_FLAG_WRITE, h, NULL,
(int (*)(void *, uint8_t *, int))librist_write, NULL);
s = avio_alloc_context(buffer, buffer_size, AVIO_FLAG_WRITE, h,
NULL, (write_packet_cb)librist_write,
NULL);
else
s = avio_alloc_context(
buffer, buffer_size, AVIO_FLAG_WRITE, h, NULL,
(int (*)(void *, uint8_t *, int))libsrt_write, NULL);
s = avio_alloc_context(buffer, buffer_size, AVIO_FLAG_WRITE, h,
NULL, (write_packet_cb)libsrt_write,
NULL);
if (!s)
goto fail;
s->max_packet_size = h->max_packet_size;