[Cin] CinGG and ffmpeg 4.4

Andrew Randrianasulu randrianasulu at gmail.com
Sun May 2 18:48:05 CEST 2021


On Sunday, May 2, 2021, Andrea paz via Cin <cin at lists.cinelerra-gg.org>
wrote:

> Hi, regarding the attempt to use ffmpeg-4.4, I realized that from a
> certain point on the mails became private between Andrew and me and
> therefore they do not appear in the mailing list. I will report here
> the content of those mails, but I anticipate that I could not get
> CinGG to work with ffmpeg-4.4.
>
> Me:
> Excluding patch5 we came close to completing the build. Now the errors
> are about bdwrite and lv2.
> Note: in Arch Linux lv2 are located in "usr/lib/lv2".
> (thanks for the help you're giving me!)
>
> Andrew:
> Oh, this api hiding patch landed (it was reverted for 4.4 releases as
> far As i know)
>
> Try additionally patch Cin with this:
> https://raw.githubusercontent.com/Randrianasulu/CinelerraGG-
> slackbuild/master/ffmpeg.git_internal_api.patch
>
> And may be
> https://raw.githubusercontent.com/Randrianasulu/CinelerraGG-
> slackbuild/master/mainerror_gcc5.diff
>
>
> Me:
> I am unable to patch the sources. I get the following error:
>
>
> $ patch -p3 ffmpeg.C < ffmpeg.git_internal_api.patch
> patching file ffmpeg.C
> Hunk #3 succeeded at 4068 (offset 124 lines).
> patching file ffmpeg.C
> Hunk #1 FAILED at 89.
> 1 out of 1 hunk FAILED -- saving rejects to file ffmpeg.C.rej
>
>
> (the same error exists also when I don't put -pX, or I put p0, p1, etc)
>
> The contents of ffmpeg.C.rej are:
>
>
> --- a/cinelerra-5.1/cinelerra/mainerror.h
> +++ b/cinelerra-5.1/cinelerra/mainerror.h
> @@ -89,7 +89,7 @@ private:
>
>  // format text to error dialog listbox
>
> -static inline void eprint1(const char *func, const char *fmt, ...)
> +static  void eprint1(const char *func, const char *fmt, ...)
>  {
>      char err_msg[1024], *cp = err_msg, *ep = cp + sizeof(err_msg)-1;
>      va_list va;
>
>
> I don't understand; first I patched mainerror.h and it seems OK. Then
> I patched ffmpeg.C and it gives me the error, but the error seems to
> refer to mainerror.h and not to ffmpeg.C.
>
> I also tried to reverse the order of the patches but the result does not
> change.
>
> I think working on the code is beyond my capabilities and I'm wasting
> your time unnecessarily.
>
>
> Andrew:
> Try with git apply?
>
>
> Me:
> Error, again:
>
> $ git apply ffmpeg.git_internal_api.patch
> error: patch failed: cinelerra-5.1/cinelerra/mainerror.h:89
> error: cinelerra-5.1/cinelerra/mainerror.h: patch does not apply
>
>
> Andrew:
> May be this part already change by previous patching? I think i rolled
> two patches into one at some point.. Try to revert smaller patch
> first?
>
>
> Me:
> I've tried the patch revert; I've tried re-downloading all the source
> and doing new tests. The result is always failure. I should know how
> to get my hands on the code to find solutions to errors. But since I
> don't know how to do that I would say I give up. Sorry for all the
> time wasted. Thank you.
>
> Me:
> I attach the log of an attempt with only the mainerror_gcc5.diff patch



This will not work, it was at best supposed to go in with patch exposing
now internal api (hack, we not supposed to do so.. But it was path of least
resistance for me). I think you can drop this patch for now..


I started with a new "git clone" in order to have the system clean.
> ffmpeg.git_internal_api.patch still doesn't work; probably due to my
> Arch linux having differences with your Slackware.
>
> Trying to replace ffmpeg-4.3 with ffmpeg-4.4 I don't know how to do in
> a static build. But I guess that's beyond my poor skills as well.
>


Hm, try to move ffmpeg-4.3 from thisrdparty/src part of your Cin tree some
where, along with corresponding patches. Now put 4.4 xz compressed tarball
from ffmpeg site at its place, and copy  (with renaming, like 'cp
ffmpeg.git.patch0 ffmpeg-4.4.patch0') ffmpeg.git* patches to ffmpeg-4.4*
one by one (do not forgot to modify patch3 and leave out patch 2 and 4, and
add ffmpeg_internal-api as ffmpeg-4.4.patchC for example. But this last
step only needed if revert in 4.4 was incomplete.. Try w/o this patch
first, if build fails in ffmpeg-related Cin source - only then try to put
it back)

In theory I can try to connect to your machine via ssh, but i never tried
this from Android tablet (with termux installed). If you wish to go via
this route - i think you better to set up separate user for me on your
machine, and give me login info in private (i use local Internet provider,
so may be we can even restrict logins to my current ip)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20210502/94869a9c/attachment.htm>


More information about the Cin mailing list