[FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a Killer-Feature!
softworkz .
softworkz at hotmail.com
Fri May 16 11:55:08 EEST 2025
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Martin
> Storsjö
> Sent: Freitag, 16. Mai 2025 10:51
> To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a
> Killer-Feature!
>
> On Fri, 16 May 2025, softworkz . wrote:
>
> >> -----Original Message-----
> >> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Martin
> >> Storsjö
> >> Sent: Freitag, 16. Mai 2025 10:19
> >> To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
> >> Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make
> it a
> >> Killer-Feature!
> >>
> >> On Fri, 16 May 2025, softworkz . wrote:
> >>
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Martin
> >>>> Storsjö
> >>>> Sent: Freitag, 16. Mai 2025 08:22
> >>>> To: ffmpeg-devel at ffmpeg.org
> >>>> Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make
> >> it a
> >>>> Killer-Feature!
> >>>>
> >>>> On Thu, 15 May 2025, softworkz wrote:
> >>>>
> >>>>> ffmpeg | branch: master | softworkz <softworkz at hotmail.com> | Thu May 15
> >>>> 23:10:02 2025 +0200| [1f2b8d7238eff4ab8a4d8d6177e250b8180d51f4] |
> >> committer:
> >>>> softworkz
> >>>>>
> >>>>> fftools/graphprint: Now, make it a Killer-Feature!
> >>>>>
> >>>>> remember this: -sg <= means Show Graph
> >>>>>
> >>>>> Signed-off-by: softworkz <softworkz at hotmail.com>
> >>>>>
> >>>>>>
> >>>>
> >>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1f2b8d7238eff4ab8a4d
> >>>> 8d6177e250b8180d51f4
> >>>>> ---
> >>>>
> >>>> This broke compilation in a number of configurations:
> >>>>
> >>>> Windows UWP/Phone:
> >>>> https://fate.ffmpeg.org/report.cgi?slot=arm-msvc2022-
> >>>> winphone&time=20250516053009
> >>>>
> >>>> filelauncher.o : error LNK2019: unresolved external symbol ShellExecuteA
> >>>> referenced in function ff_open_html_in_browser
> >>>> ffmpeg_g.exe : fatal error LNK1120: 1 unresolved externals
> >>>>
> >>>> iOS:
> >>>> https://fate.ffmpeg.org/report.cgi?slot=aarch64-apple-darwin-
> >>>> ios18&time=20250516011754
> >>>>
> >>>> src/fftools/graph/filelauncher.c:61:13: error: 'system' is unavailable:
> >>>> not available on iOS
> >>>> 61 | if (system(cmd) != 0)
> >>>> | ^
> >>>>
> >>
> /Users/mstorsjo/Xcode_16.2.app/Contents/Developer/Platforms/iPhoneOS.platform/
> >>>> Developer/SDKs/iPhoneOS.sdk/usr/include/_stdlib.h:184:6:
> >>>> note: 'system' has been explicitly marked unavailable here
> >>>> 184 | int system(const char *) __DARWIN_ALIAS_C(system);
> >>>> | ^
> >>>> 1 error generated.
> >>>>
> >>>> tvOS:
> >>>> https://fate.ffmpeg.org/report.cgi?slot=aarch64-apple-darwin-
> >>>> tvos18&time=20250516014542
> >>>>
> >>>> src/fftools/graph/filelauncher.c:61:13: error: 'system' is unavailable:
> >>>> not available on tvOS
> >>>> 61 | if (system(cmd) != 0)
> >>>> | ^
> >>>>
> >>
> /Users/mstorsjo/Xcode_16.2.app/Contents/Developer/Platforms/AppleTVOS.platform
> >>>> /Developer/SDKs/AppleTVOS.sdk/usr/include/_stdlib.h:184:6:
> >>>> note: 'system' has been explicitly marked unavailable here
> >>>> 184 | int system(const char *) __DARWIN_ALIAS_C(system);
> >>>> | ^
> >>>> 1 error generated.
> >>>>
> >>>> // Martin
> >>>>
> >>>
> >>> Hi Martin,
> >>>
> >>> do you think this is a reasonable condition for Apple in configure?
> >>>
> >>> enable browser_launch
> >>> if test -n "$sysroot"; then
> >>> case "$sysroot" in
> >>> */iPhone*.sdk|\
> >>> */AppleTV*.sdk|\
> >>> */WatchOS*.sdk|\
> >>> */BridgeOS*.sdk)
> >>> disable browser_launch
> >>> ;;
> >>> esac
> >>> fi
> >>
> >> This is not how we normally do it. String matching trying to detect things
> >> is generally brittle. If the problem is that we can't compile a call to
> >> system(), the configure check should try to compile a call to system(),
> >> and if that doesn't succeed, avoid compiling the code that does that. That
> >> also works for e.g. ShellExecuteA.
> >
> > I'm preparing a patch that aims to limit this to Windows, Linux and Mac
> > (regardless of API availability) and I'm not sure how to determine whether
> > mac or the others above in configure.
> >
> > Is there a better way?
>
> Test compiling code and checking if the expected things are defined. You
> can include TargetConditionals.h and check if TARGET_OS_OSX evaluates to
> nonzero; that's what we do in code elsewhere anyway - grep for
> TARGET_OS_OSX.
Okay got it. Thanks a lot for your help. Even though it's not needed
anymore now. The next FATE builds for those platforms should be green
again.
Thank you
sw
More information about the ffmpeg-devel
mailing list