Commit 56a73c8 added invalid C to x265.h, breaking ffmpeg compiles
Change on line 672 needs to prefix new struct name with 'struct' to be valid C code.
x265_param* zoneParam;
should be
struct x265_param* zoneParam;
Comments (9)
-
-
Was pulling my hair out trying to compile ffmpeg until I enabled logging; was sent on a wild goose chase with the whole: "ERROR: x265 not found using pkg-config". Here is some more details in the configure log:
In file included from /tmp/ffconf.4MOO7USb/test.c:1:0: /home/agressiv/ffmpeg_build/include/x265.h:673:5: error: unknown type name 'x265_param' x265_param* zoneParam; ^~~~~~~~~~ ERROR: x265 not found using pkg-config
-
Seriously x265 devs. Can someone with write access to the repo make this one line change, add the
struct
keyword so that all applications using the C API of x265 can use it again? I mean what are you guys waiting for? This is not the first time that C++ code broke the C API of x265. Maybe you should be more careful and fix those issues promptly (especially when people already tell you how to fix them). This takes 1 second to fix, but I can't do it b/c I don't have write access. Adding a 3.0-rc tag can be done, but fixing a broken API is not worth it? I don't get it, sorry. -
here's a quick fix:
sed -i "/zoneParam/c\ struct x265_param* zoneParam;" x265.h
-
@ greg wood
I've fixed it in my code base several days ago. I just don't understand how the x265 devs can be that sloppy and careless. anyway, sorry for venting, but I think I had to express my anger especially since something similar has happened several times already.
-
Account Deactivated Sorry for the delay folks; we were running several issues in prep for 3.0, and didn't spot that some of our ffmpeg regressions were failing. Apologies for the delay!
A patch to fix this has been pushed into stable, and grafted to default. Hope this resolves the problem.
-
Yep, this fixed it. Thanks.
-
Thanks for fixing this! HandBrake builds fine now with 3.0-rc.
-
Account Deactivated - changed status to resolved
Fixed with changeset e1a993e3e052 on stable, grafted to 8f1c154aae5e on default
- Log in to comment
This invalid C code also breaks building HandBrake with the current default x265.