xbmc / xbmc/inputstream.ffmpegdirect

Building fails on openSUSE Tumbleweed - Patch attached

Open
#347 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
101
Forks
56
PR merge metrics
No merged PRs in 30d

Description

Building the current master fails on openSUSE Tumbleweed, as the ffmpeg-headers are not found. Sorry, I do not have the error message anymore as I fixed it with the following patch:

diff -uNr inputstream.ffmpegdirect.orig/FindFFMPEG.cmake inputstream.ffmpegdirect/FindFFMPEG.cmake
--- inputstream.ffmpegdirect.orig/FindFFMPEG.cmake	2025-10-26 16:20:36.074236609 +0100
+++ inputstream.ffmpegdirect/FindFFMPEG.cmake	2025-10-26 16:45:28.752548838 +0100
@@ -33,14 +33,13 @@
 #
 
 # required ffmpeg library versions
-set(REQUIRED_FFMPEG_VERSION 7.0.0)
-set(_avcodec_ver ">=61.3.100")
+set(REQUIRED_FFMPEG_VERSION 8.0)
+set(_avcodec_ver ">=62.11.100")
 set(_avfilter_ver ">=10.1.100")
-set(_avformat_ver ">=61.1.100")
-set(_avutil_ver ">=59.8.100")
-set(_postproc_ver ">=58.1.100")
-set(_swresample_ver ">=5.1.100")
-set(_swscale_ver ">=8.1.100")
+set(_avformat_ver ">=62.3.100")
+set(_avutil_ver ">=60.8.100")
+set(_swresample_ver ">=6.1.100")
+set(_swscale_ver ">=9.1.100")
 
 # Allows building with external ffmpeg not found in system paths,
 # without library version checks
@@ -54,7 +53,6 @@
   unset(_avutil_ver)
   unset(_swscale_ver)
   unset(_swresample_ver)
-  unset(_postproc_ver)
 endif()
 
 # Allows building with external ffmpeg not found in system paths,
@@ -75,7 +73,7 @@
                   libavutil${_avutil_ver}
                   libswscale${_swscale_ver}
                   libswresample${_swresample_ver}
-                  libpostproc${_postproc_ver})
+  )
 
   if(PKG_CONFIG_FOUND)
     pkg_check_modules(PC_FFMPEG ${FFMPEG_PKGS} QUIET)
@@ -83,12 +81,12 @@
   endif()
 
   find_path(FFMPEG_INCLUDE_DIRS libavcodec/avcodec.h libavfilter/avfilter.h libavformat/avformat.h
-                                libavutil/avutil.h libswscale/swscale.h libpostproc/postprocess.h
+                                libavutil/avutil.h libswscale/swscale.h
             PATH_SUFFIXES ffmpeg
             PATHS ${PC_FFMPEG_INCLUDE_DIRS}
             NO_DEFAULT_PATH)
   find_path(FFMPEG_INCLUDE_DIRS libavcodec/avcodec.h libavfilter/avfilter.h libavformat/avformat.h
-                                libavutil/avutil.h libswscale/swscale.h libpostproc/postprocess.h)
+                                libavutil/avutil.h libswscale/swscale.h)
 
   find_library(FFMPEG_LIBAVCODEC
                NAMES avcodec libavcodec
@@ -130,24 +128,16 @@
                PATH_SUFFIXES ffmpeg/libswresample
                PATHS ${PC_FFMPEG_libswresample_LIBDIR}
                NO_DEFAULT_PATH)
-  find_library(FFMPEG_LIBSWRESAMPLE NAMES NAMES swresample libswresample PATH_SUFFIXES ffmpeg/libswresample)
+  find_library(FFMPEG_LIBSWRESAMPLE NAMES swresample libswresample PATH_SUFFIXES ffmpeg/libswresample)
 
-  find_library(FFMPEG_LIBPOSTPROC
-               NAMES postproc libpostproc
-               PATH_SUFFIXES ffmpeg/libpostproc
-               PATHS ${PC_FFMPEG_libpostproc_LIBDIR}
-               NO_DEFAULT_PATH)
-  find_library(FFMPEG_LIBPOSTPROC NAMES postproc libpostproc PATH_SUFFIXES ffmpeg/libpostproc)
-
-  if((PC_FFMPEG_FOUND
-      AND PC_FFMPEG_libavcodec_VERSION
-      AND PC_FFMPEG_libavfilter_VERSION
-      AND PC_FFMPEG_libavformat_VERSION
-      AND PC_FFMPEG_libavutil_VERSION
-      AND PC_FFMPEG_libswscale_VERSION
-      AND PC_FFMPEG_libswresample_VERSION
-      AND PC_FFMPEG_libpostproc_VERSION)
-     OR WIN32)
+  if( (PC_FFMPEG_FOUND
+       AND PC_FFMPEG_libavcodec_VERSION
+       AND PC_FFMPEG_libavfilter_VERSION
+       AND PC_FFMPEG_libavformat_VERSION
+       AND PC_FFMPEG_libavutil_VERSION
+       AND PC_FFMPEG_libswscale_VERSION
+       AND PC_FFMPEG_libswresample_VERSION)
+      OR WIN32)
     set(FFMPEG_VERSION ${REQUIRED_FFMPEG_VERSION})
 
 
@@ -161,7 +151,6 @@
                                                     FFMPEG_LIBAVUTIL
                                                     FFMPEG_LIBSWSCALE
                                                     FFMPEG_LIBSWRESAMPLE
-                                                    FFMPEG_LIBPOSTPROC
                                                     FFMPEG_VERSION
                                       FAIL_MESSAGE "FFmpeg ${REQUIRED_FFMPEG_VERSION} not found, please consider using -DENABLE_INTERNAL_FFMPEG=ON")
 
@@ -181,7 +170,8 @@
     set(FFMPEG_LIBRARIES ${FFMPEG_LIBAVCODEC} ${FFMPEG_LIBAVFILTER}
                          ${FFMPEG_LIBAVFORMAT} ${FFMPEG_LIBAVUTIL}
                          ${FFMPEG_LIBSWSCALE} ${FFMPEG_LIBSWRESAMPLE}
-                         ${FFMPEG_LIBPOSTPROC} ${FFMPEG_LDFLAGS})
+    )
+
     list(APPEND FFMPEG_DEFINITIONS -DFFMPEG_VER_SHA=\"${FFMPEG_VERSION}\")
 
     # check if ffmpeg libs are statically linked

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review FindFFMPEG.cmake and the attached FFmpeg discovery changes; first reproduce the openSUSE Tumbleweed build failure against the current master. Done means confirming that the reported FFmpeg header and library detection issue is resolved and that the project builds successfully with the supplied changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.