On Fri, 16 May 2025, softworkz . wrote:
-----Original Message-----
From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of Martin
Storsjö
Sent: Freitag, 16. Mai 2025 10:19
To: FFmpeg development discussions and patches <ffmpeg-devel@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-boun...@ffmpeg.org> On Behalf Of Martin
Storsjö
Sent: Freitag, 16. Mai 2025 08:22
To: ffmpeg-devel@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 <softwo...@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 <softwo...@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.
// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".