From 627c6ce3be52cddc5f5520110cd19366838bf800 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Sat, 12 Feb 2022 18:38:41 +0100 Subject: cross-compilation fixes Forwarded: no Last-Update: 2021-08-31 Mostly: add 3rd option to AC_TRY_RUN Last-Update: 2021-08-31 Gbp-Pq: Name cross-building.patch --- m4/check_funcs.m4 | 155 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 87 insertions(+), 68 deletions(-) diff --git a/m4/check_funcs.m4 b/m4/check_funcs.m4 index 357e1c0..b942584 100644 --- a/m4/check_funcs.m4 +++ b/m4/check_funcs.m4 @@ -746,31 +746,27 @@ dnl AC_MSG_CHECKING(for neaacdec.h usability for faad2) - AC_TRY_RUN([ + AC_TRY_LINK([ #include #include - main() - { - int faad_major; - int faad_minor; + ],[ NeAACDecHandle dec; dec = NeAACDecOpen(); if(!dec) return -1; return 0; - } - ], - [ + ],[ # program could be run have_faad2="true" AC_MSG_RESULT(yes) FAAD2_CFLAGS=$CFLAGS FAAD2_LIBS=$LIBS AC_DEFINE(HAVE_NEAACDEC_H) - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ] ) CFLAGS=$OLD_CFLAGS @@ -816,28 +812,23 @@ LIBS="$GMERLIN_DEP_LIBS -ldvdread" AC_MSG_CHECKING(for libdvdread >= 0.9.5) - AC_TRY_RUN([ + AC_TRY_LINK([ #include - #include - main() - { -#if DVDREAD_VERSION < 905 - return -1; -#else + ],[ + #if DVDREAD_VERSION < 905 + # error libdvdread must be at least 0.9.5 + #endif return 0; -#endif - } - ], - [ + ],[ # program could be run have_dvdread="true" AC_MSG_RESULT(yes) DVDREAD_CFLAGS="" DVDREAD_LIBS="-ldvdread" - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ] ) if test "x$have_dvdread" = "xtrue"; then @@ -916,13 +907,26 @@ LIBS="$GMERLIN_DEP_LIBS -lFLAC -lm" AC_MSG_RESULT(yes) FLAC_CFLAGS=$CFLAGS FLAC_LIBS=$LIBS - BGAV_FLAC_MAJOR=`cat flac_version | cut -d . -f 1` - BGAV_FLAC_MINOR=`cat flac_version | cut -d . -f 2` - BGAV_FLAC_PATCHLEVEL=`cat flac_version | cut -d . -f 3` + BGAV_FLAC_MAJOR=$(cat flac_version | cut -d . -f 1) + BGAV_FLAC_MINOR=$(cat flac_version | cut -d . -f 2) + BGAV_FLAC_PATCHLEVEL=$(cat flac_version | cut -d . -f 3) rm -f flac_version - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + if test -n "${FLAC_VERSION}"; then + have_flac="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + FLAC_CFLAGS=$CFLAGS + FLAC_LIBS=$LIBS + BGAV_FLAC_MAJOR=$(echo ${FLAC_VERSION} | cut -d . -f 1) + BGAV_FLAC_MINOR=$(echo ${FLAC_VERSION} | cut -d . -f 2) + BGAV_FLAC_PATCHLEVEL=$(echo ${FLAC_VERSION} | cut -d . -f 3) + else + AC_MSG_RESULT([no (cross-compiling)]) + fi + ] ) CFLAGS=$OLD_CFLAGS @@ -972,27 +976,23 @@ CFLAGS="$GMERLIN_DEP_CFLAGS" AH_TEMPLATE([HAVE_MUSEPACK], [Enable Musepack]) AC_MSG_CHECKING(for libmpcdec) - AC_TRY_RUN([ + AC_TRY_LINK([ #include #include - main() - { + ],[ mpc_streaminfo si; mpc_streaminfo_init(&si); return 0; - } - ], - [ + ],[ # program could be run have_musepack="true" AC_MSG_RESULT(yes) MUSEPACK_CFLAGS=$CFLAGS MUSEPACK_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) -) + ]) CFLAGS=$OLD_CFLAGS LIBS=$OLD_LIBS @@ -1058,10 +1058,16 @@ AC_MSG_CHECKING(for libmad 0.15.x) AC_MSG_RESULT(yes) MAD_CFLAGS=$CFLAGS MAD_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross-compiling + have_mad="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + MAD_CFLAGS=$CFLAGS + MAD_LIBS=$LIBS + ] ) CFLAGS=$OLD_CFLAGS @@ -1105,27 +1111,24 @@ OLD_LIBS=$LIBS LIBS="$GMERLIN_DEP_LIBS -la52 -lm" CFLAGS="$GMERLIN_DEP_CFLAGS" LIBA52_REQUIRED="0.7.4" -AC_MSG_CHECKING(for liba52) +AC_MSG_CHECKING([for liba52]) - AC_TRY_RUN([ + AC_TRY_LINK([ #include #include - main() - { + ],[ a52_state_t * state = a52_init(0); return 0; - } - ], - [ + ],[ # program could be run have_liba52="true" AC_MSG_RESULT(yes) LIBA52_CFLAGS=$CFLAGS LIBA52_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ] ) CFLAGS=$OLD_CFLAGS @@ -1374,10 +1377,16 @@ AC_MSG_CHECKING(for lame) AC_MSG_RESULT(yes) LAME_CFLAGS=$CFLAGS LAME_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross-compiling + have_lame="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + LAME_CFLAGS=$CFLAGS + LAME_LIBS=$LIBS + ] ) CFLAGS=$OLD_CFLAGS @@ -1448,9 +1457,16 @@ AC_TRY_RUN([ FAAC_CFLAGS=$CFLAGS FAAC_LIBS=$LIBS - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross-compiling + have_faac="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + FAAC_CFLAGS=$CFLAGS + FAAC_LIBS=$LIBS + ] ) CFLAGS=$OLD_CFLAGS @@ -1496,10 +1512,9 @@ LIBS="$LIBS -ljpeg" AC_MSG_CHECKING(for libjpeg) AC_TRY_LINK([#include - #include ], - [struct jpeg_decompress_struct cinfo; - jpeg_create_decompress(&cinfo);], - [have_libjpeg=true]) + #include ],[ +struct jpeg_decompress_struct cinfo; jpeg_create_decompress(&cinfo); + ],[have_libjpeg=true]) case $have_libjpeg in true) AC_DEFINE(HAVE_LIBJPEG) AC_MSG_RESULT(yes) @@ -1557,10 +1572,9 @@ have_GL="true" AC_SEARCH_LIBS([glBegin], [GL], [], [have_GL="false"], []) if test "x$have_GL" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) glBegin(GL_QUADS); return 0;} -],[],[have_GL="false"]) +AC_TRY_LINK([#include ],[ +if(0) glBegin(GL_QUADS); return 0;], +[],[have_GL="false"]) fi GL_LIBS=$LIBS @@ -1577,10 +1591,9 @@ have_GLX="true" AC_SEARCH_LIBS([glXCreateContext], [GL glx], [], [have_GLX="false"], []) if test "x$have_GL" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) glXChooseFBConfig(NULL, 0, - NULL, NULL); return 0;}],[],[have_GLX="false"]) +AC_TRY_LINK([#include ],[ +if(0) glXChooseFBConfig(NULL, 0, NULL, NULL); return 0; +],[],[have_GLX="false"]) fi GLX_LIBS=$LIBS @@ -1597,9 +1610,9 @@ have_EGL="true" AC_SEARCH_LIBS([eglGetCurrentDisplay], [GL EGL], [], [have_EGL="false"], []) if test "x$have_GL" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) eglGetCurrentDisplay(); return 0;}],[],[have_EGL="false"]) +AC_TRY_LINK([#include ],[ +if(0) eglGetCurrentDisplay(); return 0; +],[],[have_EGL="false"]) fi EGL_LIBS=$LIBS @@ -1648,9 +1661,9 @@ have_GLU="true" AC_SEARCH_LIBS([gluLookAt], [GLU], [], [have_GLU="false"], []) if test "x$have_GLU" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) gluLookAt(0, 0, 0, 0, 0, 0, 0, 0, 0); return 0;}],[],[have_GLU="false"]) +AC_TRY_LINK([#include ],[ +if(0) gluLookAt(0, 0, 0, 0, 0, 0, 0, 0, 0); return 0; +],[],[have_GLU="false"]) fi GLU_CFLAGS=$CFLAGS @@ -1714,9 +1727,15 @@ AC_MSG_CHECKING([for POSIX unnamed semaphores]); have_posix_semaphores="true" AC_MSG_RESULT(yes) AC_DEFINE(HAVE_POSIX_SEMAPHORES) - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross compiling + have_posix_semaphores="true" + AC_MSG_RESULT([assuming yes (cross compiling)]) + AC_DEFINE(HAVE_POSIX_SEMAPHORES) + ] ) LIBS=$OLD_LIBS -- cgit v1.2.3 From 68cc969b8a649c79aec4a2904853ebce5ac9b665 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Sat, 12 Feb 2022 18:38:41 +0100 Subject: pass LDFLAGS to plugins Last-Update: 2014-01-31 LDFLAGS passed to ./configure should not be ignored during build, esp. if we intend to support hardening Last-Update: 2014-01-31 Gbp-Pq: Name plugins-ldflags.patch --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index e803d70..bfd0d6c 100644 --- a/configure.ac +++ b/configure.ac @@ -5,6 +5,7 @@ AM_INIT_AUTOMAKE AM_CONFIG_HEADER(include/config.h) SAVE_CFLAGS=$CFLAGS +SAVE_LDFLAGS=$LDFLAGS AC_DISABLE_STATIC AC_LANG(C) AC_PROG_LIBTOOL @@ -27,7 +28,7 @@ PKG_CHECK_MODULES(GMERLIN, gmerlin >= $GMERLIN_REQUIRED, , AC_MSG_ERROR("gmerlin gmerlin_plugindir='$(libdir)/gmerlin/plugins' dnl LDFLAGS for plugins -GMERLIN_PLUGIN_LDFLAGS="-export-symbols "`pkg-config --variable=prefix gmerlin`"/share/gmerlin/plugin.sym" +GMERLIN_PLUGIN_LDFLAGS="-export-symbols "`pkg-config --variable=prefix gmerlin`"/share/gmerlin/plugin.sym $SAVE_LDFLAGS" AC_SUBST(GMERLIN_PLUGIN_LDFLAGS) AC_SUBST(gmerlin_plugindir) -- cgit v1.2.3 From 5943542f461be38b17e0aa9535907e6195677bfd Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Sat, 12 Feb 2022 18:38:41 +0100 Subject: fix spelling mistakes Forwarded: no Last-Update: 2021-08-31 Gbp-Pq: Name fix-spelling.patch --- plugins/yuv4mpeg/e_mpeg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/yuv4mpeg/e_mpeg.c b/plugins/yuv4mpeg/e_mpeg.c index 2bf1658..8ecba27 100644 --- a/plugins/yuv4mpeg/e_mpeg.c +++ b/plugins/yuv4mpeg/e_mpeg.c @@ -124,17 +124,17 @@ static int open_mpeg(void * data, const char * filename, if(!bg_search_file_exec("mpeg2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); return 0; } if(!bg_search_file_exec("mp2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return 0; } if(!bg_search_file_exec("mplex", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } return 1; @@ -565,7 +565,7 @@ static int close_mpeg(void * data, int do_delete) if(!bg_search_file_exec("mplex", &commandline)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } /* Options */ -- cgit v1.2.3 From a999ba41427202a4d7635052c589be0ae0d8e871 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Sat, 12 Feb 2022 18:38:41 +0100 Subject: Fix logging invocation Origin: Debian Forwarded: no Last-Update: 2021-08-31 bg_log -> gavl_log Last-Update: 2021-08-31 Gbp-Pq: Name logging.patch --- plugins/ffmpeg/ffmpeg_common.c | 2 +- plugins/yuv4mpeg/e_mpeg.c | 14 +++++++------- plugins/yuv4mpeg/e_mpegaudio.c | 4 ++-- plugins/yuv4mpeg/e_mpegvideo.c | 2 +- plugins/yuv4mpeg/mpa_common.c | 6 +++--- plugins/yuv4mpeg/mpv_common.c | 10 +++++----- plugins/yuv4mpeg/y4m_common.c | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/plugins/ffmpeg/ffmpeg_common.c b/plugins/ffmpeg/ffmpeg_common.c index 6bb4181..2fc67d3 100644 --- a/plugins/ffmpeg/ffmpeg_common.c +++ b/plugins/ffmpeg/ffmpeg_common.c @@ -237,7 +237,7 @@ static void set_chapters(AVFormatContext * ctx, #else if(!chapter_list || !chapter_list->num_chapters) return; - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Not writing chapters (ffmpeg version too old)"); #endif } diff --git a/plugins/yuv4mpeg/e_mpeg.c b/plugins/yuv4mpeg/e_mpeg.c index 8ecba27..e045116 100644 --- a/plugins/yuv4mpeg/e_mpeg.c +++ b/plugins/yuv4mpeg/e_mpeg.c @@ -124,17 +124,17 @@ static int open_mpeg(void * data, const char * filename, if(!bg_search_file_exec("mpeg2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); return 0; } if(!bg_search_file_exec("mp2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return 0; } if(!bg_search_file_exec("mplex", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } return 1; @@ -565,7 +565,7 @@ static int close_mpeg(void * data, int do_delete) if(!bg_search_file_exec("mplex", &commandline)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } /* Options */ @@ -576,7 +576,7 @@ static int close_mpeg(void * data, int do_delete) if(sync_offset) { - bg_log(BG_LOG_DEBUG, LOG_DOMAIN, + gavl_log(GAVL_LOG_DEBUG, LOG_DOMAIN, "Video sync offset: %"PRId64, sync_offset); tmp_string = bg_sprintf(" --sync-offset %"PRId64"mpt", sync_offset); @@ -640,7 +640,7 @@ static int close_mpeg(void * data, int do_delete) { if(e->audio_streams[i].filename) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", e->audio_streams[i].filename); #ifndef DEBUG_MPLEX remove(e->audio_streams[i].filename); @@ -656,7 +656,7 @@ static int close_mpeg(void * data, int do_delete) { if(e->video_streams[i].filename) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", e->video_streams[i].filename); #ifndef DEBUG_MPLEX remove(e->video_streams[i].filename); diff --git a/plugins/yuv4mpeg/e_mpegaudio.c b/plugins/yuv4mpeg/e_mpegaudio.c index 3356993..5e469d3 100644 --- a/plugins/yuv4mpeg/e_mpegaudio.c +++ b/plugins/yuv4mpeg/e_mpegaudio.c @@ -126,7 +126,7 @@ static int start_mpa(void * data) e_mpa_t * e = data; result = bg_mpa_start(&e->com, e->filename); if(!result) - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return result; } @@ -170,7 +170,7 @@ static int close_mpa(void * data, int do_delete) if(do_delete) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, "Removing %s", mpa->filename); + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", mpa->filename); remove(mpa->filename); } if(mpa->filename) diff --git a/plugins/yuv4mpeg/e_mpegvideo.c b/plugins/yuv4mpeg/e_mpegvideo.c index cc47f9b..93971ac 100644 --- a/plugins/yuv4mpeg/e_mpegvideo.c +++ b/plugins/yuv4mpeg/e_mpegvideo.c @@ -158,7 +158,7 @@ static int close_mpv(void * data, int do_delete) ret = bg_mpv_close(&e->mpv); if(do_delete) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, "Removing %s", e->filename); + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", e->filename); remove(e->filename); } return ret; diff --git a/plugins/yuv4mpeg/mpa_common.c b/plugins/yuv4mpeg/mpa_common.c index 16bcd03..f18b10f 100644 --- a/plugins/yuv4mpeg/mpa_common.c +++ b/plugins/yuv4mpeg/mpa_common.c @@ -97,7 +97,7 @@ static char * bg_mpa_make_commandline(bg_mpa_common_t * com, if(!bg_search_file_exec("mp2enc", &mp2enc_path)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return NULL; } @@ -196,7 +196,7 @@ static int get_bitrate(int in_rate, int layer, int channels, } if(ret != in_rate) { - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Bitrate %d kbps unsupported, switching to %d kbps", in_rate, ret); } return ret; @@ -252,7 +252,7 @@ static int get_samplerate(int in_rate, int vcd) } if(ret != in_rate) - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Samplerate %d unsupported, switching to %d", in_rate, ret); return ret; } diff --git a/plugins/yuv4mpeg/mpv_common.c b/plugins/yuv4mpeg/mpv_common.c index ee7a913..9f3d9db 100644 --- a/plugins/yuv4mpeg/mpv_common.c +++ b/plugins/yuv4mpeg/mpv_common.c @@ -199,7 +199,7 @@ static char * bg_mpv_make_commandline(bg_mpv_common_t * com, const char * filena if(!bg_search_file_exec("mpeg2enc", &mpeg2enc_path)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); return NULL; } @@ -297,7 +297,7 @@ static int bg_mpv_get_chroma_mode(bg_mpv_common_t * com) return Y4M_CHROMA_420MPEG2; break; default: - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); } return -1; } @@ -316,13 +316,13 @@ static void bg_mpv_adjust_interlacing(gavl_video_format_t * format, case FORMAT_DVD: if(format->interlace_mode == GAVL_INTERLACE_MIXED) { - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Mixed interlacing not supported (yet)"); format->interlace_mode = GAVL_INTERLACE_NONE; } break; default: - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); } } @@ -458,7 +458,7 @@ int bg_mpv_close(bg_mpv_common_t * com) if(com->out) { if(fwrite(sequence_end, 1, 4, com->out) < 4) - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Inserting sequence end code failed"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Inserting sequence end code failed"); fclose(com->out); } diff --git a/plugins/yuv4mpeg/y4m_common.c b/plugins/yuv4mpeg/y4m_common.c index e0a54f7..6159a41 100644 --- a/plugins/yuv4mpeg/y4m_common.c +++ b/plugins/yuv4mpeg/y4m_common.c @@ -221,7 +221,7 @@ int bg_y4m_write_header(bg_y4m_common_t * com) if(err != Y4M_OK) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Writing stream header failed: %s", + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Writing stream header failed: %s", ((err == Y4M_ERR_SYSTEM) ? strerror(errno) : y4m_strerr(err))); return 0; } -- cgit v1.2.3 From fe8c026c1f038c868a9325de16a2b3cb4f3d65be Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Sat, 12 Feb 2022 18:38:41 +0100 Subject: Fix macro invocation Origin: Debian Forwarded: no Last-Update: 2021-09-01 Last-Update: 2021-09-01 Gbp-Pq: Name set_enum.patch --- plugins/yuv4mpeg/e_mpeg.c | 2 +- plugins/yuv4mpeg/e_yuv4mpeg.c | 2 +- plugins/yuv4mpeg/mpv_common.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/yuv4mpeg/e_mpeg.c b/plugins/yuv4mpeg/e_mpeg.c index e045116..8537b09 100644 --- a/plugins/yuv4mpeg/e_mpeg.c +++ b/plugins/yuv4mpeg/e_mpeg.c @@ -740,7 +740,7 @@ static const bg_parameter_info_t * get_parameters_mpeg(void * data) return common_parameters; } -#define SET_ENUM(ret, key, v) if(!strcmp(val->v.str, key)) ret = v; +#define SET_ENUM(ret, key, value) if(!strcmp(val->v.str, key)) ret = value; #define SET_STRING(key) if(!strcmp(# key, name)) e->key = gavl_strrep(e->key, val->v.str); diff --git a/plugins/yuv4mpeg/e_yuv4mpeg.c b/plugins/yuv4mpeg/e_yuv4mpeg.c index e50c806..f89fe93 100644 --- a/plugins/yuv4mpeg/e_yuv4mpeg.c +++ b/plugins/yuv4mpeg/e_yuv4mpeg.c @@ -174,7 +174,7 @@ static const bg_parameter_info_t * get_video_parameters_y4m(void * data) return video_parameters; } -#define SET_ENUM(str, dst, v) if(!strcmp(val->v.str, str)) dst = v +#define SET_ENUM(name, dst, value) if(!strcmp(val->v.str, name)) dst = value static void set_video_parameter_y4m(void * data, int stream, const char * name, const gavl_value_t * val) diff --git a/plugins/yuv4mpeg/mpv_common.c b/plugins/yuv4mpeg/mpv_common.c index 9f3d9db..cd687bb 100644 --- a/plugins/yuv4mpeg/mpv_common.c +++ b/plugins/yuv4mpeg/mpv_common.c @@ -144,7 +144,7 @@ const bg_parameter_info_t * bg_mpv_get_parameters() /* Must pass a bg_mpv_common_t for parameters */ -#define SET_ENUM(str, dst, v) if(!strcmp(val->v.str, str)) dst = v +#define SET_ENUM(name, dst, value) if(!strcmp(val->v.str, name)) dst = value void bg_mpv_set_parameter(void * data, const char * name, const gavl_value_t * val) { -- cgit v1.2.3 From 9ccc228ea4bf8f2d800f8308dac80483f2c19ef9 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Sat, 5 Mar 2022 23:09:07 +0100 Subject: Fix FTBFS with FFmpeg-5.0 Origin: Debian Forwarded: no Last-Update: 2022-02-15 Last-Update: 2022-02-15 Gbp-Pq: Name ffmpeg5.patch --- plugins/ffmpeg/codecs.c | 14 +++----------- plugins/ffmpeg/ffmpeg_common.c | 23 +++++++++++++++-------- plugins/ffmpeg/ffmpeg_common.h | 1 + 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/plugins/ffmpeg/codecs.c b/plugins/ffmpeg/codecs.c index 3f5c0e0..28547a5 100644 --- a/plugins/ffmpeg/codecs.c +++ b/plugins/ffmpeg/codecs.c @@ -26,6 +26,8 @@ #include #include #include +#include +#include #define LOG_DOMAIN "ffmpeg.codecs" @@ -1110,13 +1112,6 @@ typedef struct } \ } -static const enum_t prediction_method[] = - { - { "Left", FF_PRED_LEFT }, - { "Plane", FF_PRED_PLANE }, - { "Median", FF_PRED_MEDIAN } - }; - static const enum_t compare_func[] = { { "SAD", FF_CMP_SAD }, @@ -1283,10 +1278,7 @@ bg_ffmpeg_set_codec_parameter(AVCodecContext * ctx, if(!strcmp(name, "tga_rle")) { - if(val->v.i) - ctx->coder_type = FF_CODER_TYPE_RLE; - else - ctx->coder_type = FF_CODER_TYPE_RAW; + av_opt_set_int(ctx->priv_data, "rle", !!(val->v.i), 0); } PARAM_DICT_STRING("libvpx_deadline", "deadline"); diff --git a/plugins/ffmpeg/ffmpeg_common.c b/plugins/ffmpeg/ffmpeg_common.c index 6bb4181..e9365a6 100644 --- a/plugins/ffmpeg/ffmpeg_common.c +++ b/plugins/ffmpeg/ffmpeg_common.c @@ -242,6 +242,17 @@ static void set_chapters(AVFormatContext * ctx, #endif } +static char*ffmpeg_string(char*instr) +{ + size_t len = strlen(instr); + char*outstr = av_malloc(len+1); + if(outstr) { + strcpy(outstr, instr); + outstr[len] = 0; + } + return outstr; +} + static int ffmpeg_open(void * data, const char * filename, gavf_io_t * io, const gavl_dictionary_t * metadata) @@ -270,8 +281,7 @@ static int ffmpeg_open(void * data, const char * filename, priv->format->name); return 0; } - strncpy(priv->ctx->filename, - "pipe:", sizeof(priv->ctx->filename)); + priv->ctx->url = ffmpeg_string("pipe:"); } else { @@ -284,10 +294,7 @@ static int ffmpeg_open(void * data, const char * filename, free(tmp_string); return 0; } - - strncpy(priv->ctx->filename, - tmp_string, sizeof(priv->ctx->filename)); - + priv->ctx->url = ffmpeg_string(tmp_string); free(tmp_string); } } @@ -820,7 +827,7 @@ int bg_ffmpeg_start(void * data) io_write, gavf_io_can_seek(priv->io) ? io_seek : NULL); } - else if(avio_open(&priv->ctx->pb, priv->ctx->filename, AVIO_FLAG_WRITE) < 0) + else if(avio_open(&priv->ctx->pb, priv->ctx->url, AVIO_FLAG_WRITE) < 0) return 0; #if LIBAVFORMAT_VERSION_MAJOR < 54 @@ -956,7 +963,7 @@ int bg_ffmpeg_close(void * data, int do_delete) } if(do_delete && !priv->io) - remove(priv->ctx->filename); + remove(priv->ctx->url); if(priv->io_buffer) av_free(priv->io_buffer); diff --git a/plugins/ffmpeg/ffmpeg_common.h b/plugins/ffmpeg/ffmpeg_common.h index 0fe7bba..718006c 100644 --- a/plugins/ffmpeg/ffmpeg_common.h +++ b/plugins/ffmpeg/ffmpeg_common.h @@ -22,6 +22,7 @@ #include #include +#include #include #include -- cgit v1.2.3 From cb531fda0cc80bc814f0f80a84080c0abd566e7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Sat, 5 Mar 2022 23:09:07 +0100 Subject: cross-compilation fixes Forwarded: no Last-Update: 2021-08-31 Mostly: add 3rd option to AC_TRY_RUN Last-Update: 2021-08-31 Gbp-Pq: Name cross-building.patch --- m4/check_funcs.m4 | 155 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 87 insertions(+), 68 deletions(-) diff --git a/m4/check_funcs.m4 b/m4/check_funcs.m4 index 357e1c0..b942584 100644 --- a/m4/check_funcs.m4 +++ b/m4/check_funcs.m4 @@ -746,31 +746,27 @@ dnl AC_MSG_CHECKING(for neaacdec.h usability for faad2) - AC_TRY_RUN([ + AC_TRY_LINK([ #include #include - main() - { - int faad_major; - int faad_minor; + ],[ NeAACDecHandle dec; dec = NeAACDecOpen(); if(!dec) return -1; return 0; - } - ], - [ + ],[ # program could be run have_faad2="true" AC_MSG_RESULT(yes) FAAD2_CFLAGS=$CFLAGS FAAD2_LIBS=$LIBS AC_DEFINE(HAVE_NEAACDEC_H) - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ] ) CFLAGS=$OLD_CFLAGS @@ -816,28 +812,23 @@ LIBS="$GMERLIN_DEP_LIBS -ldvdread" AC_MSG_CHECKING(for libdvdread >= 0.9.5) - AC_TRY_RUN([ + AC_TRY_LINK([ #include - #include - main() - { -#if DVDREAD_VERSION < 905 - return -1; -#else + ],[ + #if DVDREAD_VERSION < 905 + # error libdvdread must be at least 0.9.5 + #endif return 0; -#endif - } - ], - [ + ],[ # program could be run have_dvdread="true" AC_MSG_RESULT(yes) DVDREAD_CFLAGS="" DVDREAD_LIBS="-ldvdread" - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ] ) if test "x$have_dvdread" = "xtrue"; then @@ -916,13 +907,26 @@ LIBS="$GMERLIN_DEP_LIBS -lFLAC -lm" AC_MSG_RESULT(yes) FLAC_CFLAGS=$CFLAGS FLAC_LIBS=$LIBS - BGAV_FLAC_MAJOR=`cat flac_version | cut -d . -f 1` - BGAV_FLAC_MINOR=`cat flac_version | cut -d . -f 2` - BGAV_FLAC_PATCHLEVEL=`cat flac_version | cut -d . -f 3` + BGAV_FLAC_MAJOR=$(cat flac_version | cut -d . -f 1) + BGAV_FLAC_MINOR=$(cat flac_version | cut -d . -f 2) + BGAV_FLAC_PATCHLEVEL=$(cat flac_version | cut -d . -f 3) rm -f flac_version - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + if test -n "${FLAC_VERSION}"; then + have_flac="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + FLAC_CFLAGS=$CFLAGS + FLAC_LIBS=$LIBS + BGAV_FLAC_MAJOR=$(echo ${FLAC_VERSION} | cut -d . -f 1) + BGAV_FLAC_MINOR=$(echo ${FLAC_VERSION} | cut -d . -f 2) + BGAV_FLAC_PATCHLEVEL=$(echo ${FLAC_VERSION} | cut -d . -f 3) + else + AC_MSG_RESULT([no (cross-compiling)]) + fi + ] ) CFLAGS=$OLD_CFLAGS @@ -972,27 +976,23 @@ CFLAGS="$GMERLIN_DEP_CFLAGS" AH_TEMPLATE([HAVE_MUSEPACK], [Enable Musepack]) AC_MSG_CHECKING(for libmpcdec) - AC_TRY_RUN([ + AC_TRY_LINK([ #include #include - main() - { + ],[ mpc_streaminfo si; mpc_streaminfo_init(&si); return 0; - } - ], - [ + ],[ # program could be run have_musepack="true" AC_MSG_RESULT(yes) MUSEPACK_CFLAGS=$CFLAGS MUSEPACK_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) -) + ]) CFLAGS=$OLD_CFLAGS LIBS=$OLD_LIBS @@ -1058,10 +1058,16 @@ AC_MSG_CHECKING(for libmad 0.15.x) AC_MSG_RESULT(yes) MAD_CFLAGS=$CFLAGS MAD_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross-compiling + have_mad="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + MAD_CFLAGS=$CFLAGS + MAD_LIBS=$LIBS + ] ) CFLAGS=$OLD_CFLAGS @@ -1105,27 +1111,24 @@ OLD_LIBS=$LIBS LIBS="$GMERLIN_DEP_LIBS -la52 -lm" CFLAGS="$GMERLIN_DEP_CFLAGS" LIBA52_REQUIRED="0.7.4" -AC_MSG_CHECKING(for liba52) +AC_MSG_CHECKING([for liba52]) - AC_TRY_RUN([ + AC_TRY_LINK([ #include #include - main() - { + ],[ a52_state_t * state = a52_init(0); return 0; - } - ], - [ + ],[ # program could be run have_liba52="true" AC_MSG_RESULT(yes) LIBA52_CFLAGS=$CFLAGS LIBA52_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ] ) CFLAGS=$OLD_CFLAGS @@ -1374,10 +1377,16 @@ AC_MSG_CHECKING(for lame) AC_MSG_RESULT(yes) LAME_CFLAGS=$CFLAGS LAME_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross-compiling + have_lame="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + LAME_CFLAGS=$CFLAGS + LAME_LIBS=$LIBS + ] ) CFLAGS=$OLD_CFLAGS @@ -1448,9 +1457,16 @@ AC_TRY_RUN([ FAAC_CFLAGS=$CFLAGS FAAC_LIBS=$LIBS - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross-compiling + have_faac="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + FAAC_CFLAGS=$CFLAGS + FAAC_LIBS=$LIBS + ] ) CFLAGS=$OLD_CFLAGS @@ -1496,10 +1512,9 @@ LIBS="$LIBS -ljpeg" AC_MSG_CHECKING(for libjpeg) AC_TRY_LINK([#include - #include ], - [struct jpeg_decompress_struct cinfo; - jpeg_create_decompress(&cinfo);], - [have_libjpeg=true]) + #include ],[ +struct jpeg_decompress_struct cinfo; jpeg_create_decompress(&cinfo); + ],[have_libjpeg=true]) case $have_libjpeg in true) AC_DEFINE(HAVE_LIBJPEG) AC_MSG_RESULT(yes) @@ -1557,10 +1572,9 @@ have_GL="true" AC_SEARCH_LIBS([glBegin], [GL], [], [have_GL="false"], []) if test "x$have_GL" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) glBegin(GL_QUADS); return 0;} -],[],[have_GL="false"]) +AC_TRY_LINK([#include ],[ +if(0) glBegin(GL_QUADS); return 0;], +[],[have_GL="false"]) fi GL_LIBS=$LIBS @@ -1577,10 +1591,9 @@ have_GLX="true" AC_SEARCH_LIBS([glXCreateContext], [GL glx], [], [have_GLX="false"], []) if test "x$have_GL" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) glXChooseFBConfig(NULL, 0, - NULL, NULL); return 0;}],[],[have_GLX="false"]) +AC_TRY_LINK([#include ],[ +if(0) glXChooseFBConfig(NULL, 0, NULL, NULL); return 0; +],[],[have_GLX="false"]) fi GLX_LIBS=$LIBS @@ -1597,9 +1610,9 @@ have_EGL="true" AC_SEARCH_LIBS([eglGetCurrentDisplay], [GL EGL], [], [have_EGL="false"], []) if test "x$have_GL" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) eglGetCurrentDisplay(); return 0;}],[],[have_EGL="false"]) +AC_TRY_LINK([#include ],[ +if(0) eglGetCurrentDisplay(); return 0; +],[],[have_EGL="false"]) fi EGL_LIBS=$LIBS @@ -1648,9 +1661,9 @@ have_GLU="true" AC_SEARCH_LIBS([gluLookAt], [GLU], [], [have_GLU="false"], []) if test "x$have_GLU" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) gluLookAt(0, 0, 0, 0, 0, 0, 0, 0, 0); return 0;}],[],[have_GLU="false"]) +AC_TRY_LINK([#include ],[ +if(0) gluLookAt(0, 0, 0, 0, 0, 0, 0, 0, 0); return 0; +],[],[have_GLU="false"]) fi GLU_CFLAGS=$CFLAGS @@ -1714,9 +1727,15 @@ AC_MSG_CHECKING([for POSIX unnamed semaphores]); have_posix_semaphores="true" AC_MSG_RESULT(yes) AC_DEFINE(HAVE_POSIX_SEMAPHORES) - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross compiling + have_posix_semaphores="true" + AC_MSG_RESULT([assuming yes (cross compiling)]) + AC_DEFINE(HAVE_POSIX_SEMAPHORES) + ] ) LIBS=$OLD_LIBS -- cgit v1.2.3 From e67f3c6ebf41ff8f92a0e22dbe2614f7118845ed Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Sat, 5 Mar 2022 23:09:07 +0100 Subject: pass LDFLAGS to plugins Last-Update: 2014-01-31 LDFLAGS passed to ./configure should not be ignored during build, esp. if we intend to support hardening Last-Update: 2014-01-31 Gbp-Pq: Name plugins-ldflags.patch --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index e803d70..bfd0d6c 100644 --- a/configure.ac +++ b/configure.ac @@ -5,6 +5,7 @@ AM_INIT_AUTOMAKE AM_CONFIG_HEADER(include/config.h) SAVE_CFLAGS=$CFLAGS +SAVE_LDFLAGS=$LDFLAGS AC_DISABLE_STATIC AC_LANG(C) AC_PROG_LIBTOOL @@ -27,7 +28,7 @@ PKG_CHECK_MODULES(GMERLIN, gmerlin >= $GMERLIN_REQUIRED, , AC_MSG_ERROR("gmerlin gmerlin_plugindir='$(libdir)/gmerlin/plugins' dnl LDFLAGS for plugins -GMERLIN_PLUGIN_LDFLAGS="-export-symbols "`pkg-config --variable=prefix gmerlin`"/share/gmerlin/plugin.sym" +GMERLIN_PLUGIN_LDFLAGS="-export-symbols "`pkg-config --variable=prefix gmerlin`"/share/gmerlin/plugin.sym $SAVE_LDFLAGS" AC_SUBST(GMERLIN_PLUGIN_LDFLAGS) AC_SUBST(gmerlin_plugindir) -- cgit v1.2.3 From c07e0c4670ad5d663fc6bbce9709865138b92e03 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Sat, 5 Mar 2022 23:09:07 +0100 Subject: fix spelling mistakes Forwarded: no Last-Update: 2021-08-31 Gbp-Pq: Name fix-spelling.patch --- plugins/yuv4mpeg/e_mpeg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/yuv4mpeg/e_mpeg.c b/plugins/yuv4mpeg/e_mpeg.c index 2bf1658..8ecba27 100644 --- a/plugins/yuv4mpeg/e_mpeg.c +++ b/plugins/yuv4mpeg/e_mpeg.c @@ -124,17 +124,17 @@ static int open_mpeg(void * data, const char * filename, if(!bg_search_file_exec("mpeg2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); return 0; } if(!bg_search_file_exec("mp2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return 0; } if(!bg_search_file_exec("mplex", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } return 1; @@ -565,7 +565,7 @@ static int close_mpeg(void * data, int do_delete) if(!bg_search_file_exec("mplex", &commandline)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } /* Options */ -- cgit v1.2.3 From 7cdb41c55155dc9796f1e5045534333a04eb8c86 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Sat, 5 Mar 2022 23:09:07 +0100 Subject: Fix logging invocation Origin: Debian Forwarded: no Last-Update: 2021-08-31 bg_log -> gavl_log Last-Update: 2021-08-31 Gbp-Pq: Name logging.patch --- plugins/ffmpeg/ffmpeg_common.c | 2 +- plugins/yuv4mpeg/e_mpeg.c | 14 +++++++------- plugins/yuv4mpeg/e_mpegaudio.c | 4 ++-- plugins/yuv4mpeg/e_mpegvideo.c | 2 +- plugins/yuv4mpeg/mpa_common.c | 6 +++--- plugins/yuv4mpeg/mpv_common.c | 10 +++++----- plugins/yuv4mpeg/y4m_common.c | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/plugins/ffmpeg/ffmpeg_common.c b/plugins/ffmpeg/ffmpeg_common.c index e9365a6..7bfe0f9 100644 --- a/plugins/ffmpeg/ffmpeg_common.c +++ b/plugins/ffmpeg/ffmpeg_common.c @@ -237,7 +237,7 @@ static void set_chapters(AVFormatContext * ctx, #else if(!chapter_list || !chapter_list->num_chapters) return; - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Not writing chapters (ffmpeg version too old)"); #endif } diff --git a/plugins/yuv4mpeg/e_mpeg.c b/plugins/yuv4mpeg/e_mpeg.c index 8ecba27..e045116 100644 --- a/plugins/yuv4mpeg/e_mpeg.c +++ b/plugins/yuv4mpeg/e_mpeg.c @@ -124,17 +124,17 @@ static int open_mpeg(void * data, const char * filename, if(!bg_search_file_exec("mpeg2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); return 0; } if(!bg_search_file_exec("mp2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return 0; } if(!bg_search_file_exec("mplex", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } return 1; @@ -565,7 +565,7 @@ static int close_mpeg(void * data, int do_delete) if(!bg_search_file_exec("mplex", &commandline)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } /* Options */ @@ -576,7 +576,7 @@ static int close_mpeg(void * data, int do_delete) if(sync_offset) { - bg_log(BG_LOG_DEBUG, LOG_DOMAIN, + gavl_log(GAVL_LOG_DEBUG, LOG_DOMAIN, "Video sync offset: %"PRId64, sync_offset); tmp_string = bg_sprintf(" --sync-offset %"PRId64"mpt", sync_offset); @@ -640,7 +640,7 @@ static int close_mpeg(void * data, int do_delete) { if(e->audio_streams[i].filename) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", e->audio_streams[i].filename); #ifndef DEBUG_MPLEX remove(e->audio_streams[i].filename); @@ -656,7 +656,7 @@ static int close_mpeg(void * data, int do_delete) { if(e->video_streams[i].filename) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", e->video_streams[i].filename); #ifndef DEBUG_MPLEX remove(e->video_streams[i].filename); diff --git a/plugins/yuv4mpeg/e_mpegaudio.c b/plugins/yuv4mpeg/e_mpegaudio.c index 3356993..5e469d3 100644 --- a/plugins/yuv4mpeg/e_mpegaudio.c +++ b/plugins/yuv4mpeg/e_mpegaudio.c @@ -126,7 +126,7 @@ static int start_mpa(void * data) e_mpa_t * e = data; result = bg_mpa_start(&e->com, e->filename); if(!result) - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return result; } @@ -170,7 +170,7 @@ static int close_mpa(void * data, int do_delete) if(do_delete) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, "Removing %s", mpa->filename); + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", mpa->filename); remove(mpa->filename); } if(mpa->filename) diff --git a/plugins/yuv4mpeg/e_mpegvideo.c b/plugins/yuv4mpeg/e_mpegvideo.c index cc47f9b..93971ac 100644 --- a/plugins/yuv4mpeg/e_mpegvideo.c +++ b/plugins/yuv4mpeg/e_mpegvideo.c @@ -158,7 +158,7 @@ static int close_mpv(void * data, int do_delete) ret = bg_mpv_close(&e->mpv); if(do_delete) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, "Removing %s", e->filename); + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", e->filename); remove(e->filename); } return ret; diff --git a/plugins/yuv4mpeg/mpa_common.c b/plugins/yuv4mpeg/mpa_common.c index 16bcd03..f18b10f 100644 --- a/plugins/yuv4mpeg/mpa_common.c +++ b/plugins/yuv4mpeg/mpa_common.c @@ -97,7 +97,7 @@ static char * bg_mpa_make_commandline(bg_mpa_common_t * com, if(!bg_search_file_exec("mp2enc", &mp2enc_path)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return NULL; } @@ -196,7 +196,7 @@ static int get_bitrate(int in_rate, int layer, int channels, } if(ret != in_rate) { - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Bitrate %d kbps unsupported, switching to %d kbps", in_rate, ret); } return ret; @@ -252,7 +252,7 @@ static int get_samplerate(int in_rate, int vcd) } if(ret != in_rate) - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Samplerate %d unsupported, switching to %d", in_rate, ret); return ret; } diff --git a/plugins/yuv4mpeg/mpv_common.c b/plugins/yuv4mpeg/mpv_common.c index ee7a913..9f3d9db 100644 --- a/plugins/yuv4mpeg/mpv_common.c +++ b/plugins/yuv4mpeg/mpv_common.c @@ -199,7 +199,7 @@ static char * bg_mpv_make_commandline(bg_mpv_common_t * com, const char * filena if(!bg_search_file_exec("mpeg2enc", &mpeg2enc_path)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); return NULL; } @@ -297,7 +297,7 @@ static int bg_mpv_get_chroma_mode(bg_mpv_common_t * com) return Y4M_CHROMA_420MPEG2; break; default: - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); } return -1; } @@ -316,13 +316,13 @@ static void bg_mpv_adjust_interlacing(gavl_video_format_t * format, case FORMAT_DVD: if(format->interlace_mode == GAVL_INTERLACE_MIXED) { - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Mixed interlacing not supported (yet)"); format->interlace_mode = GAVL_INTERLACE_NONE; } break; default: - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); } } @@ -458,7 +458,7 @@ int bg_mpv_close(bg_mpv_common_t * com) if(com->out) { if(fwrite(sequence_end, 1, 4, com->out) < 4) - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Inserting sequence end code failed"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Inserting sequence end code failed"); fclose(com->out); } diff --git a/plugins/yuv4mpeg/y4m_common.c b/plugins/yuv4mpeg/y4m_common.c index e0a54f7..6159a41 100644 --- a/plugins/yuv4mpeg/y4m_common.c +++ b/plugins/yuv4mpeg/y4m_common.c @@ -221,7 +221,7 @@ int bg_y4m_write_header(bg_y4m_common_t * com) if(err != Y4M_OK) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Writing stream header failed: %s", + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Writing stream header failed: %s", ((err == Y4M_ERR_SYSTEM) ? strerror(errno) : y4m_strerr(err))); return 0; } -- cgit v1.2.3 From 0ae7d888173cf403d2976d9d47a952d63dbfef97 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Sat, 5 Mar 2022 23:09:07 +0100 Subject: Fix macro invocation Origin: Debian Forwarded: no Last-Update: 2021-09-01 Last-Update: 2021-09-01 Gbp-Pq: Name set_enum.patch --- plugins/yuv4mpeg/e_mpeg.c | 2 +- plugins/yuv4mpeg/e_yuv4mpeg.c | 2 +- plugins/yuv4mpeg/mpv_common.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/yuv4mpeg/e_mpeg.c b/plugins/yuv4mpeg/e_mpeg.c index e045116..8537b09 100644 --- a/plugins/yuv4mpeg/e_mpeg.c +++ b/plugins/yuv4mpeg/e_mpeg.c @@ -740,7 +740,7 @@ static const bg_parameter_info_t * get_parameters_mpeg(void * data) return common_parameters; } -#define SET_ENUM(ret, key, v) if(!strcmp(val->v.str, key)) ret = v; +#define SET_ENUM(ret, key, value) if(!strcmp(val->v.str, key)) ret = value; #define SET_STRING(key) if(!strcmp(# key, name)) e->key = gavl_strrep(e->key, val->v.str); diff --git a/plugins/yuv4mpeg/e_yuv4mpeg.c b/plugins/yuv4mpeg/e_yuv4mpeg.c index e50c806..f89fe93 100644 --- a/plugins/yuv4mpeg/e_yuv4mpeg.c +++ b/plugins/yuv4mpeg/e_yuv4mpeg.c @@ -174,7 +174,7 @@ static const bg_parameter_info_t * get_video_parameters_y4m(void * data) return video_parameters; } -#define SET_ENUM(str, dst, v) if(!strcmp(val->v.str, str)) dst = v +#define SET_ENUM(name, dst, value) if(!strcmp(val->v.str, name)) dst = value static void set_video_parameter_y4m(void * data, int stream, const char * name, const gavl_value_t * val) diff --git a/plugins/yuv4mpeg/mpv_common.c b/plugins/yuv4mpeg/mpv_common.c index 9f3d9db..cd687bb 100644 --- a/plugins/yuv4mpeg/mpv_common.c +++ b/plugins/yuv4mpeg/mpv_common.c @@ -144,7 +144,7 @@ const bg_parameter_info_t * bg_mpv_get_parameters() /* Must pass a bg_mpv_common_t for parameters */ -#define SET_ENUM(str, dst, v) if(!strcmp(val->v.str, str)) dst = v +#define SET_ENUM(name, dst, value) if(!strcmp(val->v.str, name)) dst = value void bg_mpv_set_parameter(void * data, const char * name, const gavl_value_t * val) { -- cgit v1.2.3 From 2829d95aeedc3a4705ce06454b6d235700e48dad Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Tue, 24 Jan 2023 20:48:18 +0100 Subject: Fix FTBFS with FFmpeg-5.0 Origin: Debian Forwarded: no Last-Update: 2022-02-15 Last-Update: 2022-02-15 Gbp-Pq: Name ffmpeg5.patch --- plugins/ffmpeg/codec.c | 32 +++++++++++++++----------------- plugins/ffmpeg/codecs.c | 14 +++----------- plugins/ffmpeg/ffmpeg_common.c | 23 +++++++++++++++-------- plugins/ffmpeg/ffmpeg_common.h | 1 + 4 files changed, 34 insertions(+), 36 deletions(-) diff --git a/plugins/ffmpeg/codec.c b/plugins/ffmpeg/codec.c index 9a63bfb..5686154 100644 --- a/plugins/ffmpeg/codec.c +++ b/plugins/ffmpeg/codec.c @@ -59,8 +59,15 @@ static int find_encoder(bg_ffmpeg_codec_context_t * ctx) return 0; } - /* Set codec deftaults */ - avcodec_get_context_defaults3(ctx->avctx, ctx->codec); + /* Set codec defaults */ + avcodec_free_context(&ctx->avctx); + if(!(ctx->avctx = avcodec_alloc_context3 (ctx->codec))) + { + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, + "Context for Codec %s could not be initialized", + bg_ffmpeg_get_codec_name(ctx->id)); + return 0; + } return 1; } @@ -86,12 +93,13 @@ bg_ffmpeg_codec_context_t * bg_ffmpeg_codec_create(int type, ret->type = type; /* Create private codec context */ - ret->avctx_priv = avcodec_alloc_context3(NULL); - ret->avctx = ret->avctx_priv; + ret->avctx_priv = NULL; + ret->avctx = NULL; if(!find_encoder(ret)) { - av_free(ret->avctx_priv); + if(ret->avctx) + avcodec_free_context(&ret->avctx); free(ret); return NULL; } @@ -826,20 +834,10 @@ void bg_ffmpeg_codec_destroy(bg_ffmpeg_codec_context_t * ctx) if(!(ctx->flags & FLAG_FLUSHED)) bg_ffmpeg_codec_flush(ctx); - /* Close */ - - if(ctx->avctx->stats_in) - { - free(ctx->avctx->stats_in); - ctx->avctx->stats_in = NULL; - } -// if(ctx->flags & FLAG_INITIALIZED) - avcodec_close(ctx->avctx); - /* Destroy */ - if(ctx->avctx_priv) - av_free(ctx->avctx_priv); + if(ctx->avctx) + avcodec_free_context(&ctx->avctx); if(ctx->pc) bg_encoder_pts_cache_destroy(ctx->pc); diff --git a/plugins/ffmpeg/codecs.c b/plugins/ffmpeg/codecs.c index 3f5c0e0..28547a5 100644 --- a/plugins/ffmpeg/codecs.c +++ b/plugins/ffmpeg/codecs.c @@ -26,6 +26,8 @@ #include #include #include +#include +#include #define LOG_DOMAIN "ffmpeg.codecs" @@ -1110,13 +1112,6 @@ typedef struct } \ } -static const enum_t prediction_method[] = - { - { "Left", FF_PRED_LEFT }, - { "Plane", FF_PRED_PLANE }, - { "Median", FF_PRED_MEDIAN } - }; - static const enum_t compare_func[] = { { "SAD", FF_CMP_SAD }, @@ -1283,10 +1278,7 @@ bg_ffmpeg_set_codec_parameter(AVCodecContext * ctx, if(!strcmp(name, "tga_rle")) { - if(val->v.i) - ctx->coder_type = FF_CODER_TYPE_RLE; - else - ctx->coder_type = FF_CODER_TYPE_RAW; + av_opt_set_int(ctx->priv_data, "rle", !!(val->v.i), 0); } PARAM_DICT_STRING("libvpx_deadline", "deadline"); diff --git a/plugins/ffmpeg/ffmpeg_common.c b/plugins/ffmpeg/ffmpeg_common.c index 6bb4181..e9365a6 100644 --- a/plugins/ffmpeg/ffmpeg_common.c +++ b/plugins/ffmpeg/ffmpeg_common.c @@ -242,6 +242,17 @@ static void set_chapters(AVFormatContext * ctx, #endif } +static char*ffmpeg_string(char*instr) +{ + size_t len = strlen(instr); + char*outstr = av_malloc(len+1); + if(outstr) { + strcpy(outstr, instr); + outstr[len] = 0; + } + return outstr; +} + static int ffmpeg_open(void * data, const char * filename, gavf_io_t * io, const gavl_dictionary_t * metadata) @@ -270,8 +281,7 @@ static int ffmpeg_open(void * data, const char * filename, priv->format->name); return 0; } - strncpy(priv->ctx->filename, - "pipe:", sizeof(priv->ctx->filename)); + priv->ctx->url = ffmpeg_string("pipe:"); } else { @@ -284,10 +294,7 @@ static int ffmpeg_open(void * data, const char * filename, free(tmp_string); return 0; } - - strncpy(priv->ctx->filename, - tmp_string, sizeof(priv->ctx->filename)); - + priv->ctx->url = ffmpeg_string(tmp_string); free(tmp_string); } } @@ -820,7 +827,7 @@ int bg_ffmpeg_start(void * data) io_write, gavf_io_can_seek(priv->io) ? io_seek : NULL); } - else if(avio_open(&priv->ctx->pb, priv->ctx->filename, AVIO_FLAG_WRITE) < 0) + else if(avio_open(&priv->ctx->pb, priv->ctx->url, AVIO_FLAG_WRITE) < 0) return 0; #if LIBAVFORMAT_VERSION_MAJOR < 54 @@ -956,7 +963,7 @@ int bg_ffmpeg_close(void * data, int do_delete) } if(do_delete && !priv->io) - remove(priv->ctx->filename); + remove(priv->ctx->url); if(priv->io_buffer) av_free(priv->io_buffer); diff --git a/plugins/ffmpeg/ffmpeg_common.h b/plugins/ffmpeg/ffmpeg_common.h index 0fe7bba..718006c 100644 --- a/plugins/ffmpeg/ffmpeg_common.h +++ b/plugins/ffmpeg/ffmpeg_common.h @@ -22,6 +22,7 @@ #include #include +#include #include #include -- cgit v1.2.3 From 232a12295141f4a28db465b559f707cba2e43289 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Tue, 24 Jan 2023 20:48:18 +0100 Subject: cross-compilation fixes Forwarded: no Last-Update: 2021-08-31 Mostly: add 3rd option to AC_TRY_RUN Last-Update: 2021-08-31 Gbp-Pq: Name cross-building.patch --- m4/check_funcs.m4 | 155 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 87 insertions(+), 68 deletions(-) diff --git a/m4/check_funcs.m4 b/m4/check_funcs.m4 index 357e1c0..b942584 100644 --- a/m4/check_funcs.m4 +++ b/m4/check_funcs.m4 @@ -746,31 +746,27 @@ dnl AC_MSG_CHECKING(for neaacdec.h usability for faad2) - AC_TRY_RUN([ + AC_TRY_LINK([ #include #include - main() - { - int faad_major; - int faad_minor; + ],[ NeAACDecHandle dec; dec = NeAACDecOpen(); if(!dec) return -1; return 0; - } - ], - [ + ],[ # program could be run have_faad2="true" AC_MSG_RESULT(yes) FAAD2_CFLAGS=$CFLAGS FAAD2_LIBS=$LIBS AC_DEFINE(HAVE_NEAACDEC_H) - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ] ) CFLAGS=$OLD_CFLAGS @@ -816,28 +812,23 @@ LIBS="$GMERLIN_DEP_LIBS -ldvdread" AC_MSG_CHECKING(for libdvdread >= 0.9.5) - AC_TRY_RUN([ + AC_TRY_LINK([ #include - #include - main() - { -#if DVDREAD_VERSION < 905 - return -1; -#else + ],[ + #if DVDREAD_VERSION < 905 + # error libdvdread must be at least 0.9.5 + #endif return 0; -#endif - } - ], - [ + ],[ # program could be run have_dvdread="true" AC_MSG_RESULT(yes) DVDREAD_CFLAGS="" DVDREAD_LIBS="-ldvdread" - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ] ) if test "x$have_dvdread" = "xtrue"; then @@ -916,13 +907,26 @@ LIBS="$GMERLIN_DEP_LIBS -lFLAC -lm" AC_MSG_RESULT(yes) FLAC_CFLAGS=$CFLAGS FLAC_LIBS=$LIBS - BGAV_FLAC_MAJOR=`cat flac_version | cut -d . -f 1` - BGAV_FLAC_MINOR=`cat flac_version | cut -d . -f 2` - BGAV_FLAC_PATCHLEVEL=`cat flac_version | cut -d . -f 3` + BGAV_FLAC_MAJOR=$(cat flac_version | cut -d . -f 1) + BGAV_FLAC_MINOR=$(cat flac_version | cut -d . -f 2) + BGAV_FLAC_PATCHLEVEL=$(cat flac_version | cut -d . -f 3) rm -f flac_version - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + if test -n "${FLAC_VERSION}"; then + have_flac="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + FLAC_CFLAGS=$CFLAGS + FLAC_LIBS=$LIBS + BGAV_FLAC_MAJOR=$(echo ${FLAC_VERSION} | cut -d . -f 1) + BGAV_FLAC_MINOR=$(echo ${FLAC_VERSION} | cut -d . -f 2) + BGAV_FLAC_PATCHLEVEL=$(echo ${FLAC_VERSION} | cut -d . -f 3) + else + AC_MSG_RESULT([no (cross-compiling)]) + fi + ] ) CFLAGS=$OLD_CFLAGS @@ -972,27 +976,23 @@ CFLAGS="$GMERLIN_DEP_CFLAGS" AH_TEMPLATE([HAVE_MUSEPACK], [Enable Musepack]) AC_MSG_CHECKING(for libmpcdec) - AC_TRY_RUN([ + AC_TRY_LINK([ #include #include - main() - { + ],[ mpc_streaminfo si; mpc_streaminfo_init(&si); return 0; - } - ], - [ + ],[ # program could be run have_musepack="true" AC_MSG_RESULT(yes) MUSEPACK_CFLAGS=$CFLAGS MUSEPACK_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) -) + ]) CFLAGS=$OLD_CFLAGS LIBS=$OLD_LIBS @@ -1058,10 +1058,16 @@ AC_MSG_CHECKING(for libmad 0.15.x) AC_MSG_RESULT(yes) MAD_CFLAGS=$CFLAGS MAD_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross-compiling + have_mad="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + MAD_CFLAGS=$CFLAGS + MAD_LIBS=$LIBS + ] ) CFLAGS=$OLD_CFLAGS @@ -1105,27 +1111,24 @@ OLD_LIBS=$LIBS LIBS="$GMERLIN_DEP_LIBS -la52 -lm" CFLAGS="$GMERLIN_DEP_CFLAGS" LIBA52_REQUIRED="0.7.4" -AC_MSG_CHECKING(for liba52) +AC_MSG_CHECKING([for liba52]) - AC_TRY_RUN([ + AC_TRY_LINK([ #include #include - main() - { + ],[ a52_state_t * state = a52_init(0); return 0; - } - ], - [ + ],[ # program could be run have_liba52="true" AC_MSG_RESULT(yes) LIBA52_CFLAGS=$CFLAGS LIBA52_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ] ) CFLAGS=$OLD_CFLAGS @@ -1374,10 +1377,16 @@ AC_MSG_CHECKING(for lame) AC_MSG_RESULT(yes) LAME_CFLAGS=$CFLAGS LAME_LIBS=$LIBS - - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross-compiling + have_lame="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + LAME_CFLAGS=$CFLAGS + LAME_LIBS=$LIBS + ] ) CFLAGS=$OLD_CFLAGS @@ -1448,9 +1457,16 @@ AC_TRY_RUN([ FAAC_CFLAGS=$CFLAGS FAAC_LIBS=$LIBS - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross-compiling + have_faac="true" + AC_MSG_RESULT([assuming yes (cross-compiling)]) + FAAC_CFLAGS=$CFLAGS + FAAC_LIBS=$LIBS + ] ) CFLAGS=$OLD_CFLAGS @@ -1496,10 +1512,9 @@ LIBS="$LIBS -ljpeg" AC_MSG_CHECKING(for libjpeg) AC_TRY_LINK([#include - #include ], - [struct jpeg_decompress_struct cinfo; - jpeg_create_decompress(&cinfo);], - [have_libjpeg=true]) + #include ],[ +struct jpeg_decompress_struct cinfo; jpeg_create_decompress(&cinfo); + ],[have_libjpeg=true]) case $have_libjpeg in true) AC_DEFINE(HAVE_LIBJPEG) AC_MSG_RESULT(yes) @@ -1557,10 +1572,9 @@ have_GL="true" AC_SEARCH_LIBS([glBegin], [GL], [], [have_GL="false"], []) if test "x$have_GL" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) glBegin(GL_QUADS); return 0;} -],[],[have_GL="false"]) +AC_TRY_LINK([#include ],[ +if(0) glBegin(GL_QUADS); return 0;], +[],[have_GL="false"]) fi GL_LIBS=$LIBS @@ -1577,10 +1591,9 @@ have_GLX="true" AC_SEARCH_LIBS([glXCreateContext], [GL glx], [], [have_GLX="false"], []) if test "x$have_GL" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) glXChooseFBConfig(NULL, 0, - NULL, NULL); return 0;}],[],[have_GLX="false"]) +AC_TRY_LINK([#include ],[ +if(0) glXChooseFBConfig(NULL, 0, NULL, NULL); return 0; +],[],[have_GLX="false"]) fi GLX_LIBS=$LIBS @@ -1597,9 +1610,9 @@ have_EGL="true" AC_SEARCH_LIBS([eglGetCurrentDisplay], [GL EGL], [], [have_EGL="false"], []) if test "x$have_GL" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) eglGetCurrentDisplay(); return 0;}],[],[have_EGL="false"]) +AC_TRY_LINK([#include ],[ +if(0) eglGetCurrentDisplay(); return 0; +],[],[have_EGL="false"]) fi EGL_LIBS=$LIBS @@ -1648,9 +1661,9 @@ have_GLU="true" AC_SEARCH_LIBS([gluLookAt], [GLU], [], [have_GLU="false"], []) if test "x$have_GLU" = "xtrue"; then -AC_TRY_RUN([ -#include -int main() { if(0) gluLookAt(0, 0, 0, 0, 0, 0, 0, 0, 0); return 0;}],[],[have_GLU="false"]) +AC_TRY_LINK([#include ],[ +if(0) gluLookAt(0, 0, 0, 0, 0, 0, 0, 0, 0); return 0; +],[],[have_GLU="false"]) fi GLU_CFLAGS=$CFLAGS @@ -1714,9 +1727,15 @@ AC_MSG_CHECKING([for POSIX unnamed semaphores]); have_posix_semaphores="true" AC_MSG_RESULT(yes) AC_DEFINE(HAVE_POSIX_SEMAPHORES) - ], + ],[ # program could not be run AC_MSG_RESULT(no) + ],[ + # cross compiling + have_posix_semaphores="true" + AC_MSG_RESULT([assuming yes (cross compiling)]) + AC_DEFINE(HAVE_POSIX_SEMAPHORES) + ] ) LIBS=$OLD_LIBS -- cgit v1.2.3 From b78791e87a457b7bc6d8a16b711de6dfe5709342 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Tue, 24 Jan 2023 20:48:18 +0100 Subject: pass LDFLAGS to plugins Last-Update: 2014-01-31 LDFLAGS passed to ./configure should not be ignored during build, esp. if we intend to support hardening Last-Update: 2014-01-31 Gbp-Pq: Name plugins-ldflags.patch --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index e803d70..bfd0d6c 100644 --- a/configure.ac +++ b/configure.ac @@ -5,6 +5,7 @@ AM_INIT_AUTOMAKE AM_CONFIG_HEADER(include/config.h) SAVE_CFLAGS=$CFLAGS +SAVE_LDFLAGS=$LDFLAGS AC_DISABLE_STATIC AC_LANG(C) AC_PROG_LIBTOOL @@ -27,7 +28,7 @@ PKG_CHECK_MODULES(GMERLIN, gmerlin >= $GMERLIN_REQUIRED, , AC_MSG_ERROR("gmerlin gmerlin_plugindir='$(libdir)/gmerlin/plugins' dnl LDFLAGS for plugins -GMERLIN_PLUGIN_LDFLAGS="-export-symbols "`pkg-config --variable=prefix gmerlin`"/share/gmerlin/plugin.sym" +GMERLIN_PLUGIN_LDFLAGS="-export-symbols "`pkg-config --variable=prefix gmerlin`"/share/gmerlin/plugin.sym $SAVE_LDFLAGS" AC_SUBST(GMERLIN_PLUGIN_LDFLAGS) AC_SUBST(gmerlin_plugindir) -- cgit v1.2.3 From aa0c4905341b152980c2bbeecb784575d2cfe778 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Tue, 24 Jan 2023 20:48:18 +0100 Subject: fix spelling mistakes Forwarded: no Last-Update: 2021-08-31 Gbp-Pq: Name fix-spelling.patch --- plugins/yuv4mpeg/e_mpeg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/yuv4mpeg/e_mpeg.c b/plugins/yuv4mpeg/e_mpeg.c index 2bf1658..8ecba27 100644 --- a/plugins/yuv4mpeg/e_mpeg.c +++ b/plugins/yuv4mpeg/e_mpeg.c @@ -124,17 +124,17 @@ static int open_mpeg(void * data, const char * filename, if(!bg_search_file_exec("mpeg2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); return 0; } if(!bg_search_file_exec("mp2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return 0; } if(!bg_search_file_exec("mplex", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } return 1; @@ -565,7 +565,7 @@ static int close_mpeg(void * data, int do_delete) if(!bg_search_file_exec("mplex", &commandline)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex exectuable"); + bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } /* Options */ -- cgit v1.2.3 From 8f2e4ea257f446dd2d1155b79a9dd0b2f33d9696 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Tue, 24 Jan 2023 20:48:18 +0100 Subject: Fix logging invocation Origin: Debian Forwarded: no Last-Update: 2021-08-31 bg_log -> gavl_log Last-Update: 2021-08-31 Gbp-Pq: Name logging.patch --- plugins/ffmpeg/ffmpeg_common.c | 2 +- plugins/yuv4mpeg/e_mpeg.c | 14 +++++++------- plugins/yuv4mpeg/e_mpegaudio.c | 4 ++-- plugins/yuv4mpeg/e_mpegvideo.c | 2 +- plugins/yuv4mpeg/mpa_common.c | 6 +++--- plugins/yuv4mpeg/mpv_common.c | 10 +++++----- plugins/yuv4mpeg/y4m_common.c | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/plugins/ffmpeg/ffmpeg_common.c b/plugins/ffmpeg/ffmpeg_common.c index e9365a6..7bfe0f9 100644 --- a/plugins/ffmpeg/ffmpeg_common.c +++ b/plugins/ffmpeg/ffmpeg_common.c @@ -237,7 +237,7 @@ static void set_chapters(AVFormatContext * ctx, #else if(!chapter_list || !chapter_list->num_chapters) return; - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Not writing chapters (ffmpeg version too old)"); #endif } diff --git a/plugins/yuv4mpeg/e_mpeg.c b/plugins/yuv4mpeg/e_mpeg.c index 8ecba27..e045116 100644 --- a/plugins/yuv4mpeg/e_mpeg.c +++ b/plugins/yuv4mpeg/e_mpeg.c @@ -124,17 +124,17 @@ static int open_mpeg(void * data, const char * filename, if(!bg_search_file_exec("mpeg2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); return 0; } if(!bg_search_file_exec("mp2enc", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return 0; } if(!bg_search_file_exec("mplex", NULL)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } return 1; @@ -565,7 +565,7 @@ static int close_mpeg(void * data, int do_delete) if(!bg_search_file_exec("mplex", &commandline)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mplex executable"); return 0; } /* Options */ @@ -576,7 +576,7 @@ static int close_mpeg(void * data, int do_delete) if(sync_offset) { - bg_log(BG_LOG_DEBUG, LOG_DOMAIN, + gavl_log(GAVL_LOG_DEBUG, LOG_DOMAIN, "Video sync offset: %"PRId64, sync_offset); tmp_string = bg_sprintf(" --sync-offset %"PRId64"mpt", sync_offset); @@ -640,7 +640,7 @@ static int close_mpeg(void * data, int do_delete) { if(e->audio_streams[i].filename) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", e->audio_streams[i].filename); #ifndef DEBUG_MPLEX remove(e->audio_streams[i].filename); @@ -656,7 +656,7 @@ static int close_mpeg(void * data, int do_delete) { if(e->video_streams[i].filename) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", e->video_streams[i].filename); #ifndef DEBUG_MPLEX remove(e->video_streams[i].filename); diff --git a/plugins/yuv4mpeg/e_mpegaudio.c b/plugins/yuv4mpeg/e_mpegaudio.c index 3356993..5e469d3 100644 --- a/plugins/yuv4mpeg/e_mpegaudio.c +++ b/plugins/yuv4mpeg/e_mpegaudio.c @@ -126,7 +126,7 @@ static int start_mpa(void * data) e_mpa_t * e = data; result = bg_mpa_start(&e->com, e->filename); if(!result) - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return result; } @@ -170,7 +170,7 @@ static int close_mpa(void * data, int do_delete) if(do_delete) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, "Removing %s", mpa->filename); + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", mpa->filename); remove(mpa->filename); } if(mpa->filename) diff --git a/plugins/yuv4mpeg/e_mpegvideo.c b/plugins/yuv4mpeg/e_mpegvideo.c index cc47f9b..93971ac 100644 --- a/plugins/yuv4mpeg/e_mpegvideo.c +++ b/plugins/yuv4mpeg/e_mpegvideo.c @@ -158,7 +158,7 @@ static int close_mpv(void * data, int do_delete) ret = bg_mpv_close(&e->mpv); if(do_delete) { - bg_log(BG_LOG_INFO, LOG_DOMAIN, "Removing %s", e->filename); + gavl_log(GAVL_LOG_INFO, LOG_DOMAIN, "Removing %s", e->filename); remove(e->filename); } return ret; diff --git a/plugins/yuv4mpeg/mpa_common.c b/plugins/yuv4mpeg/mpa_common.c index 16bcd03..f18b10f 100644 --- a/plugins/yuv4mpeg/mpa_common.c +++ b/plugins/yuv4mpeg/mpa_common.c @@ -97,7 +97,7 @@ static char * bg_mpa_make_commandline(bg_mpa_common_t * com, if(!bg_search_file_exec("mp2enc", &mp2enc_path)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mp2enc executable"); return NULL; } @@ -196,7 +196,7 @@ static int get_bitrate(int in_rate, int layer, int channels, } if(ret != in_rate) { - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Bitrate %d kbps unsupported, switching to %d kbps", in_rate, ret); } return ret; @@ -252,7 +252,7 @@ static int get_samplerate(int in_rate, int vcd) } if(ret != in_rate) - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Samplerate %d unsupported, switching to %d", in_rate, ret); return ret; } diff --git a/plugins/yuv4mpeg/mpv_common.c b/plugins/yuv4mpeg/mpv_common.c index ee7a913..9f3d9db 100644 --- a/plugins/yuv4mpeg/mpv_common.c +++ b/plugins/yuv4mpeg/mpv_common.c @@ -199,7 +199,7 @@ static char * bg_mpv_make_commandline(bg_mpv_common_t * com, const char * filena if(!bg_search_file_exec("mpeg2enc", &mpeg2enc_path)) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Cannot find mpeg2enc executable"); return NULL; } @@ -297,7 +297,7 @@ static int bg_mpv_get_chroma_mode(bg_mpv_common_t * com) return Y4M_CHROMA_420MPEG2; break; default: - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); } return -1; } @@ -316,13 +316,13 @@ static void bg_mpv_adjust_interlacing(gavl_video_format_t * format, case FORMAT_DVD: if(format->interlace_mode == GAVL_INTERLACE_MIXED) { - bg_log(BG_LOG_WARNING, LOG_DOMAIN, + gavl_log(GAVL_LOG_WARNING, LOG_DOMAIN, "Mixed interlacing not supported (yet)"); format->interlace_mode = GAVL_INTERLACE_NONE; } break; default: - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Unknown MPEG format"); } } @@ -458,7 +458,7 @@ int bg_mpv_close(bg_mpv_common_t * com) if(com->out) { if(fwrite(sequence_end, 1, 4, com->out) < 4) - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Inserting sequence end code failed"); + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Inserting sequence end code failed"); fclose(com->out); } diff --git a/plugins/yuv4mpeg/y4m_common.c b/plugins/yuv4mpeg/y4m_common.c index e0a54f7..6159a41 100644 --- a/plugins/yuv4mpeg/y4m_common.c +++ b/plugins/yuv4mpeg/y4m_common.c @@ -221,7 +221,7 @@ int bg_y4m_write_header(bg_y4m_common_t * com) if(err != Y4M_OK) { - bg_log(BG_LOG_ERROR, LOG_DOMAIN, "Writing stream header failed: %s", + gavl_log(GAVL_LOG_ERROR, LOG_DOMAIN, "Writing stream header failed: %s", ((err == Y4M_ERR_SYSTEM) ? strerror(errno) : y4m_strerr(err))); return 0; } -- cgit v1.2.3 From ba05d0830d35521b6450a0e86982f9d0dcc96907 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Tue, 24 Jan 2023 20:48:18 +0100 Subject: Fix macro invocation Origin: Debian Forwarded: no Last-Update: 2021-09-01 Last-Update: 2021-09-01 Gbp-Pq: Name set_enum.patch --- plugins/yuv4mpeg/e_mpeg.c | 2 +- plugins/yuv4mpeg/e_yuv4mpeg.c | 2 +- plugins/yuv4mpeg/mpv_common.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/yuv4mpeg/e_mpeg.c b/plugins/yuv4mpeg/e_mpeg.c index e045116..8537b09 100644 --- a/plugins/yuv4mpeg/e_mpeg.c +++ b/plugins/yuv4mpeg/e_mpeg.c @@ -740,7 +740,7 @@ static const bg_parameter_info_t * get_parameters_mpeg(void * data) return common_parameters; } -#define SET_ENUM(ret, key, v) if(!strcmp(val->v.str, key)) ret = v; +#define SET_ENUM(ret, key, value) if(!strcmp(val->v.str, key)) ret = value; #define SET_STRING(key) if(!strcmp(# key, name)) e->key = gavl_strrep(e->key, val->v.str); diff --git a/plugins/yuv4mpeg/e_yuv4mpeg.c b/plugins/yuv4mpeg/e_yuv4mpeg.c index e50c806..f89fe93 100644 --- a/plugins/yuv4mpeg/e_yuv4mpeg.c +++ b/plugins/yuv4mpeg/e_yuv4mpeg.c @@ -174,7 +174,7 @@ static const bg_parameter_info_t * get_video_parameters_y4m(void * data) return video_parameters; } -#define SET_ENUM(str, dst, v) if(!strcmp(val->v.str, str)) dst = v +#define SET_ENUM(name, dst, value) if(!strcmp(val->v.str, name)) dst = value static void set_video_parameter_y4m(void * data, int stream, const char * name, const gavl_value_t * val) diff --git a/plugins/yuv4mpeg/mpv_common.c b/plugins/yuv4mpeg/mpv_common.c index 9f3d9db..cd687bb 100644 --- a/plugins/yuv4mpeg/mpv_common.c +++ b/plugins/yuv4mpeg/mpv_common.c @@ -144,7 +144,7 @@ const bg_parameter_info_t * bg_mpv_get_parameters() /* Must pass a bg_mpv_common_t for parameters */ -#define SET_ENUM(str, dst, v) if(!strcmp(val->v.str, str)) dst = v +#define SET_ENUM(name, dst, value) if(!strcmp(val->v.str, name)) dst = value void bg_mpv_set_parameter(void * data, const char * name, const gavl_value_t * val) { -- cgit v1.2.3