On Wed, 04 Dec 2024 10:49:23 +0100,
Stuart Henderson <s...@spacehopper.org> wrote:
> 
> Something, probably the x265 update, broke HandBrake?
> 
> /pobj/handbrake-1.6.1/HandBrake-1.6.1/libhb/encx265.c:444:20: warning: 
> comparison of array 'param->csvfn' equal to a n
> ull pointer is always false [-Wtautological-pointer-compare]
>         if (param->csvfn == NULL)
>             ~~~~~~~^~~~~    ~~~~
> /pobj/handbrake-1.6.1/HandBrake-1.6.1/libhb/encx265.c:447:26: error: array 
> type 'char[256]' is not assignable
>             param->csvfn = strdup(pv->csvfn);
>             ~~~~~~~~~~~~ ^
> 1 warning and 1 error generated.
> 

My attempt to update it to 1.9.0 leads to an issues that x265 needs this
patches: https://github.com/HandBrake/HandBrake/tree/1.9.0/contrib/x265

After that, it needs this patches for our ffmpeg:
https://github.com/HandBrake/HandBrake/tree/1.9.0/contrib/ffmpeg

and so on, and so on.

At some point I had discovered that upstream made it clear that without
patching ffmpeg HandBrake is broken, see:
https://github.com/HandBrake/HandBrake/issues/6179

Can we updated HandBrake? Probably.

Can we fix the current version? Defently, here the diff.

Anyway, the diff :

Index: Makefile
===================================================================
RCS file: /home/cvs/ports/multimedia/handbrake/Makefile,v
diff -u -p -r1.25 Makefile
--- Makefile    24 Nov 2024 12:57:33 -0000      1.25
+++ Makefile    4 Dec 2024 18:22:40 -0000
@@ -3,7 +3,7 @@ COMMENT =       open source video transcoder
 V =            1.6.1
 DISTNAME =     HandBrake-${V}-source
 PKGNAME =      handbrake-${V}
-REVISION =     1
+REVISION =     2
 EXTRACT_SUFX = .tar.bz2
 CATEGORIES =   multimedia x11
 
Index: patches/patch-libhb_encx265_c
===================================================================
RCS file: patches/patch-libhb_encx265_c
diff -N patches/patch-libhb_encx265_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-libhb_encx265_c       4 Dec 2024 18:17:36 -0000
@@ -0,0 +1,18 @@
+Backport relevant part of 
https://github.com/HandBrake/HandBrake/commit/3e6479d666f76a5956bb5ce9a5d85ee8c925bbd3
+
+Index: libhb/encx265.c
+--- libhb/encx265.c.orig
++++ libhb/encx265.c
+@@ -463,10 +463,10 @@ int encx265Init(hb_work_object_t *w, hb_job_t *job)
+     /* statsfile (but not 2-pass) */
+     if (param->logLevel >= X265_LOG_DEBUG)
+     {
+-        if (param->csvfn == NULL)
++        if (param->csvfn[0] == '\0')
+         {
+             pv->csvfn = hb_get_temporary_filename("x265.csv");
+-            param->csvfn = strdup(pv->csvfn);
++            snprintf(param->csvfn, X265_MAX_STRING_SIZE, "%s", pv->csvfn);
+         }
+         else
+         {

-- 
wbr, Kirill

Reply via email to