xbmc / xbmc/inputstream.ffmpegdirect
Building fails on openSUSE Tumbleweed - Patch attached
Open
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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