From: Rémi Bernon <rbernon@codeweavers.com> --- configure.ac | 59 ++++++++++++++++++++++++------------- dlls/winedmo/unix_private.h | 8 +++++ dlls/winedmo4/Makefile.in | 13 ++++++++ dlls/winedmo4/winedmo4.spec | 1 + dlls/winedmo5/Makefile.in | 13 ++++++++ dlls/winedmo5/winedmo5.spec | 1 + dlls/winedmo6/Makefile.in | 13 ++++++++ dlls/winedmo6/winedmo6.spec | 1 + dlls/winedmo7/Makefile.in | 13 ++++++++ dlls/winedmo7/winedmo7.spec | 1 + dlls/winedmo8/Makefile.in | 13 ++++++++ dlls/winedmo8/winedmo8.spec | 1 + 12 files changed, 117 insertions(+), 20 deletions(-) create mode 100644 dlls/winedmo4/Makefile.in create mode 100644 dlls/winedmo4/winedmo4.spec create mode 100644 dlls/winedmo5/Makefile.in create mode 100644 dlls/winedmo5/winedmo5.spec create mode 100644 dlls/winedmo6/Makefile.in create mode 100644 dlls/winedmo6/winedmo6.spec create mode 100644 dlls/winedmo7/Makefile.in create mode 100644 dlls/winedmo7/winedmo7.spec create mode 100644 dlls/winedmo8/Makefile.in create mode 100644 dlls/winedmo8/winedmo8.spec diff --git a/configure.ac b/configure.ac index da4a0af4a60..2a2e119b442 100644 --- a/configure.ac +++ b/configure.ac @@ -1684,26 +1684,40 @@ WINE_NOTICE_WITH(pulse, [test -z "$PULSE_LIBS"], [libpulse ${notice_platform}development files not found or too old, Pulse won't be supported.], [enable_winepulse_drv]) -dnl **** Check for FFmpeg **** -if test "x$with_ffmpeg" != "xno"; -then - WINE_PACKAGE_FLAGS(FFMPEG,[libavutil libavformat libavcodec],,,, - [AC_CHECK_HEADERS([libavutil/avutil.h libavformat/avformat.h libavcodec/avcodec.h libavcodec/bsf.h]) - if test "$ac_cv_header_libavutil_avutil_h" = "yes" -a "$ac_cv_header_libavformat_avformat_h" = "yes" -a "$ac_cv_header_libavcodec_avcodec_h" = "yes" - then - AC_CHECK_LIB(avutil,av_log_set_callback, - [AC_CHECK_LIB(avformat,av_find_input_format, - [AC_CHECK_LIB(avcodec,avcodec_get_name, - [AC_DEFINE(HAVE_FFMPEG, 1, [Define to 1 if you have the FFmpeg libraries.])], - [FFMPEG_LIBS=""],[$FFMPEG_LIBS])], - [FFMPEG_LIBS=""],[$FFMPEG_LIBS])], - [FFMPEG_LIBS=""],[$FFMPEG_LIBS]) - else - FFMPEG_LIBS="" - fi]) -fi -WINE_NOTICE_WITH(ffmpeg,[test "x$FFMPEG_LIBS" = x], - [FFmpeg ${notice_platform}development files not found.]) +m4_foreach([ffmpeg_version],[4,5,6,7,8,],[ + m4_define([ffmpeg_libraries],[m4_case(ffmpeg_version,[4],[libavformat libavcodec 'libavutil >= 56' 'libavutil < 57'], + [5],[libavformat libavcodec 'libavutil >= 57' 'libavutil < 58'], + [6],[libavformat libavcodec 'libavutil >= 58' 'libavutil < 59'], + [7],[libavformat libavcodec 'libavutil >= 59' 'libavutil < 60'], + [8],[libavformat libavcodec 'libavutil >= 60' 'libavutil < 61'], + [libavformat libavcodec libavutil])]) + + AS_CASE([$with_ffmpeg],m4_if(ffmpeg_version,[],[*],[ffmpeg_version[|*,]ffmpeg_version[|]ffmpeg_version[,*|*,]ffmpeg_version[,*]]),[ + ac_save_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" + PKG_CONFIG_PATH="[$FFMPEG]ffmpeg_version[_PKG_CONFIG_PATH]:$PKG_CONFIG_PATH" + + WINE_PACKAGE_FLAGS([FFMPEG]ffmpeg_version,ffmpeg_libraries,,,, + [AC_CHECK_HEADERS([libavutil/avutil.h + libavformat/avformat.h + libavcodec/avcodec.h + libavcodec/bsf.h]) + if test "$ac_cv_header_libavutil_avutil_h" = "yes" \ + -a "$ac_cv_header_libavformat_avformat_h" = "yes" \ + -a "$ac_cv_header_libavcodec_avcodec_h" = "yes" \ + ; then + AC_DEFINE([HAVE_FFMPEG]ffmpeg_version, 1, [Define to 1 if you have the FFmpeg]ffmpeg_version[ libraries.]) + else + [FFMPEG]ffmpeg_version[_LIBS]="" + fi]) + + m4_if(ffmpeg_version,[],[],WINE_TRY_CFLAGS([-Wno-deprecated-declarations],[FFMPEG]ffmpeg_version[_CFLAGS="-Wno-deprecated-declarations $FFMPEG]ffmpeg_version[_CFLAGS"])) + + WINE_NOTICE_WITH(ffmpeg,[test "x$[FFMPEG]ffmpeg_version[_LIBS]" = x], + [FFmpeg]ffmpeg_version[ ${notice_platform}development files not found.], + m4_if(ffmpeg_version,[],[],[enable_winedmo]ffmpeg_version)) + PKG_CONFIG_PATH="$ac_save_PKG_CONFIG_PATH" + ],[m4_if(ffmpeg_version,[],[],[enable_winedmo]ffmpeg_version=${[enable_winedmo]ffmpeg_version:-no})]) +]) dnl **** Check for gstreamer **** if test "x$with_gstreamer" != "xno" @@ -3362,6 +3376,11 @@ WINE_CONFIG_MAKEFILE(dlls/winecoreaudio.drv) WINE_CONFIG_MAKEFILE(dlls/winecrt0) WINE_CONFIG_MAKEFILE(dlls/wined3d) WINE_CONFIG_MAKEFILE(dlls/winedmo) +WINE_CONFIG_MAKEFILE(dlls/winedmo4) +WINE_CONFIG_MAKEFILE(dlls/winedmo5) +WINE_CONFIG_MAKEFILE(dlls/winedmo6) +WINE_CONFIG_MAKEFILE(dlls/winedmo7) +WINE_CONFIG_MAKEFILE(dlls/winedmo8) WINE_CONFIG_MAKEFILE(dlls/winegstreamer) WINE_CONFIG_MAKEFILE(dlls/winehid.sys) WINE_CONFIG_MAKEFILE(dlls/winemac.drv) diff --git a/dlls/winedmo/unix_private.h b/dlls/winedmo/unix_private.h index 8192926bfc4..2df468f139f 100644 --- a/dlls/winedmo/unix_private.h +++ b/dlls/winedmo/unix_private.h @@ -22,6 +22,14 @@ #include <stdint.h> +#if !defined(HAVE_FFMPEG) && defined(WINEDMO_VERSION) +#if (WINEDMO_VERSION == 4 && defined(HAVE_FFMPEG4)) || (WINEDMO_VERSION == 5 && defined(HAVE_FFMPEG5)) || \ + (WINEDMO_VERSION == 6 && defined(HAVE_FFMPEG6)) || (WINEDMO_VERSION == 7 && defined(HAVE_FFMPEG7)) || \ + (WINEDMO_VERSION == 8 && defined(HAVE_FFMPEG8)) +#define HAVE_FFMPEG +#endif +#endif + #ifdef HAVE_FFMPEG #include <libavutil/avutil.h> #include <libavutil/imgutils.h> diff --git a/dlls/winedmo4/Makefile.in b/dlls/winedmo4/Makefile.in new file mode 100644 index 00000000000..2c890572d2e --- /dev/null +++ b/dlls/winedmo4/Makefile.in @@ -0,0 +1,13 @@ +MODULE = winedmo4.dll +UNIXLIB = winedmo4.so +IMPORTS = mfuuid +PARENTSRC = ../winedmo +EXTRADEFS = -DWINEDMO_VERSION=4 +UNIX_CFLAGS = $(FFMPEG4_CFLAGS) +UNIX_LIBS = $(FFMPEG4_LIBS) $(PTHREAD_LIBS) + +SOURCES = \ + main.c \ + unix_demuxer.c \ + unix_media_type.c \ + unixlib.c diff --git a/dlls/winedmo4/winedmo4.spec b/dlls/winedmo4/winedmo4.spec new file mode 100644 index 00000000000..81940eb6f17 --- /dev/null +++ b/dlls/winedmo4/winedmo4.spec @@ -0,0 +1 @@ +@ cdecl winedmo_get_demuxer_funcs(long str ptr) diff --git a/dlls/winedmo5/Makefile.in b/dlls/winedmo5/Makefile.in new file mode 100644 index 00000000000..799f27ea121 --- /dev/null +++ b/dlls/winedmo5/Makefile.in @@ -0,0 +1,13 @@ +MODULE = winedmo5.dll +UNIXLIB = winedmo5.so +IMPORTS = mfuuid +PARENTSRC = ../winedmo +EXTRADEFS = -DWINEDMO_VERSION=5 +UNIX_CFLAGS = $(FFMPEG5_CFLAGS) +UNIX_LIBS = $(FFMPEG5_LIBS) $(PTHREAD_LIBS) + +SOURCES = \ + main.c \ + unix_demuxer.c \ + unix_media_type.c \ + unixlib.c diff --git a/dlls/winedmo5/winedmo5.spec b/dlls/winedmo5/winedmo5.spec new file mode 100644 index 00000000000..81940eb6f17 --- /dev/null +++ b/dlls/winedmo5/winedmo5.spec @@ -0,0 +1 @@ +@ cdecl winedmo_get_demuxer_funcs(long str ptr) diff --git a/dlls/winedmo6/Makefile.in b/dlls/winedmo6/Makefile.in new file mode 100644 index 00000000000..4464c77cdda --- /dev/null +++ b/dlls/winedmo6/Makefile.in @@ -0,0 +1,13 @@ +MODULE = winedmo6.dll +UNIXLIB = winedmo6.so +IMPORTS = mfuuid +PARENTSRC = ../winedmo +EXTRADEFS = -DWINEDMO_VERSION=6 +UNIX_CFLAGS = $(FFMPEG6_CFLAGS) +UNIX_LIBS = $(FFMPEG6_LIBS) $(PTHREAD_LIBS) + +SOURCES = \ + main.c \ + unix_demuxer.c \ + unix_media_type.c \ + unixlib.c diff --git a/dlls/winedmo6/winedmo6.spec b/dlls/winedmo6/winedmo6.spec new file mode 100644 index 00000000000..81940eb6f17 --- /dev/null +++ b/dlls/winedmo6/winedmo6.spec @@ -0,0 +1 @@ +@ cdecl winedmo_get_demuxer_funcs(long str ptr) diff --git a/dlls/winedmo7/Makefile.in b/dlls/winedmo7/Makefile.in new file mode 100644 index 00000000000..a3da58ef3fe --- /dev/null +++ b/dlls/winedmo7/Makefile.in @@ -0,0 +1,13 @@ +MODULE = winedmo7.dll +UNIXLIB = winedmo7.so +IMPORTS = mfuuid +PARENTSRC = ../winedmo +EXTRADEFS = -DWINEDMO_VERSION=7 +UNIX_CFLAGS = $(FFMPEG7_CFLAGS) +UNIX_LIBS = $(FFMPEG7_LIBS) $(PTHREAD_LIBS) + +SOURCES = \ + main.c \ + unix_demuxer.c \ + unix_media_type.c \ + unixlib.c diff --git a/dlls/winedmo7/winedmo7.spec b/dlls/winedmo7/winedmo7.spec new file mode 100644 index 00000000000..81940eb6f17 --- /dev/null +++ b/dlls/winedmo7/winedmo7.spec @@ -0,0 +1 @@ +@ cdecl winedmo_get_demuxer_funcs(long str ptr) diff --git a/dlls/winedmo8/Makefile.in b/dlls/winedmo8/Makefile.in new file mode 100644 index 00000000000..a3ff035db1e --- /dev/null +++ b/dlls/winedmo8/Makefile.in @@ -0,0 +1,13 @@ +MODULE = winedmo8.dll +UNIXLIB = winedmo8.so +IMPORTS = mfuuid +PARENTSRC = ../winedmo +EXTRADEFS = -DWINEDMO_VERSION=8 +UNIX_CFLAGS = $(FFMPEG8_CFLAGS) +UNIX_LIBS = $(FFMPEG8_LIBS) $(PTHREAD_LIBS) + +SOURCES = \ + main.c \ + unix_demuxer.c \ + unix_media_type.c \ + unixlib.c diff --git a/dlls/winedmo8/winedmo8.spec b/dlls/winedmo8/winedmo8.spec new file mode 100644 index 00000000000..81940eb6f17 --- /dev/null +++ b/dlls/winedmo8/winedmo8.spec @@ -0,0 +1 @@ +@ cdecl winedmo_get_demuxer_funcs(long str ptr) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9913