From f4064fd77aa3eadd752d33f17739f6a4e83e440e78b669a16b1109179bd4090c Mon Sep 17 00:00:00 2001 From: Johannes Weberhofer Date: Thu, 2 Dec 2021 15:19:31 +0000 Subject: [PATCH] Accepting request 935215 from home:favogt:branches:X11:RemoteDesktop - Add patch to fix connecting without H.264-enabled FFmpeg (boo#1190823): * 0001-Make-H.264-codec-optional-during-runtime.patch - Use %autosetup OBS-URL: https://build.opensuse.org/request/show/935215 OBS-URL: https://build.opensuse.org/package/show/X11:RemoteDesktop/freerdp?expand=0&rev=125 --- ...-H.264-codec-optional-during-runtime.patch | 32 +++++++++++++++++++ freerdp.changes | 7 ++++ freerdp.spec | 5 +-- 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 0001-Make-H.264-codec-optional-during-runtime.patch diff --git a/0001-Make-H.264-codec-optional-during-runtime.patch b/0001-Make-H.264-codec-optional-during-runtime.patch new file mode 100644 index 0000000..fa129a8 --- /dev/null +++ b/0001-Make-H.264-codec-optional-during-runtime.patch @@ -0,0 +1,32 @@ +From 24b8b4e5df644ba77c673c41b90cc48c4358aaa0 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Thu, 2 Dec 2021 15:50:08 +0100 +Subject: [PATCH] Make H.264 codec optional during runtime + +It's possible that FreeRDP was built against FFmpeg, but it doesn't support +H.264. In that case, just continue without H.264 support instead of failing +hard before even trying to connect. + +This is especially useful for Linux distributions which can't ship H.264 +support in FFmpeg out of the box (patent issues), but allow enabling H.264 +later by installing a version of FFmpeg which has it enabled. +--- + libfreerdp/core/codecs.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +Index: FreeRDP-2.4.1/libfreerdp/core/codecs.c +=================================================================== +--- FreeRDP-2.4.1.orig/libfreerdp/core/codecs.c ++++ FreeRDP-2.4.1/libfreerdp/core/codecs.c +@@ -106,10 +106,7 @@ BOOL freerdp_client_codecs_prepare(rdpCo + + if (!(codecs->h264 = h264_context_new(FALSE))) + { +- WLog_ERR(TAG, "Failed to create h264 codec context"); +-#ifndef WITH_OPENH264_LOADING +- return FALSE; +-#endif ++ WLog_WARN(TAG, "Failed to create h264 codec context"); + } + } + #endif diff --git a/freerdp.changes b/freerdp.changes index 404e595..7c7fbff 100644 --- a/freerdp.changes +++ b/freerdp.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Dec 2 15:02:32 UTC 2021 - Fabian Vogt + +- Add patch to fix connecting without H.264-enabled FFmpeg (boo#1190823): + * 0001-Make-H.264-codec-optional-during-runtime.patch +- Use %autosetup + ------------------------------------------------------------------- Thu Oct 21 10:15:38 UTC 2021 - Johannes Weberhofer diff --git a/freerdp.spec b/freerdp.spec index 6aa0b30..51da9cf 100644 --- a/freerdp.spec +++ b/freerdp.spec @@ -49,6 +49,8 @@ Source0: https://github.com/FreeRDP/FreeRDP/archive/%{version}.tar.gz#/Fr Source1: freerdp-rpmlintrc # PATCH-FIX-UPSTREAM freerdp-channels-off-link-fix.diff -- based on https://github.com/FreeRDP/FreeRDP/pull/7235 Patch0: freerdp-builtin-channels-off-link-fix.diff +# PATCH-FIX-UPSTREAM https://github.com/FreeRDP/FreeRDP/pull/7476 +Patch1: 0001-Make-H.264-codec-optional-during-runtime.patch BuildRequires: chrpath BuildRequires: cmake >= 2.8 BuildRequires: cups-devel @@ -195,8 +197,7 @@ This package contains header files for developing applications that use the uwac library. %prep -%setup -q -n FreeRDP-%{version} -%autopatch -p1 +%autosetup -p1 -n FreeRDP-%{version} %build if [ -z "$SOURCE_DATE_EPOCH" ]; then