From df83c8a602f6c928c13930b74c495edfd5037b33 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 22 Jun 2024 03:36:23 +0200 Subject: Fix audio recording (channel layout) for ffmpeg 7 --- src/egl.c | 6 +++--- src/main.cpp | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/egl.c b/src/egl.c index 48234ac..552d5f4 100644 --- a/src/egl.c +++ b/src/egl.c @@ -328,7 +328,7 @@ static bool gsr_egl_switch_to_glx_context(gsr_egl *self) { } static bool gsr_egl_load_egl(gsr_egl *self, void *library) { - dlsym_assign required_dlsym[] = { + const dlsym_assign required_dlsym[] = { { (void**)&self->eglGetError, "eglGetError" }, { (void**)&self->eglGetDisplay, "eglGetDisplay" }, { (void**)&self->eglInitialize, "eglInitialize" }, @@ -373,7 +373,7 @@ static bool gsr_egl_proc_load_egl(gsr_egl *self) { } static bool gsr_egl_load_glx(gsr_egl *self, void *library) { - dlsym_assign required_dlsym[] = { + const dlsym_assign required_dlsym[] = { { (void**)&self->glXGetProcAddress, "glXGetProcAddress" }, { (void**)&self->glXChooseFBConfig, "glXChooseFBConfig" }, { (void**)&self->glXMakeContextCurrent, "glXMakeContextCurrent" }, @@ -403,7 +403,7 @@ static bool gsr_egl_load_glx(gsr_egl *self, void *library) { } static bool gsr_egl_load_gl(gsr_egl *self, void *library) { - dlsym_assign required_dlsym[] = { + const dlsym_assign required_dlsym[] = { { (void**)&self->glGetError, "glGetError" }, { (void**)&self->glGetString, "glGetString" }, { (void**)&self->glFlush, "glFlush" }, diff --git a/src/main.cpp b/src/main.cpp index 71980cf..b91e68c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2527,6 +2527,9 @@ int main(int argc, char **argv) { #if LIBAVUTIL_VERSION_MAJOR <= 56 av_opt_set_channel_layout(swr, "in_channel_layout", AV_CH_LAYOUT_STEREO, 0); av_opt_set_channel_layout(swr, "out_channel_layout", AV_CH_LAYOUT_STEREO, 0); + #elif LIBAVUTIL_VERSION_MAJOR >= 59 + av_opt_set_chlayout(swr, "in_chlayout", &audio_track.codec_context->ch_layout, 0); + av_opt_set_chlayout(swr, "out_chlayout", &audio_track.codec_context->ch_layout, 0); #else av_opt_set_chlayout(swr, "in_channel_layout", &audio_track.codec_context->ch_layout, 0); av_opt_set_chlayout(swr, "out_channel_layout", &audio_track.codec_context->ch_layout, 0); -- cgit v1.2.3