New issue
Advanced search Search tips

Issue 898793 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

third_party/ffmpeg lists non-existing headers for android_cronet

Project Member Reported by brat...@opera.com, Oct 25

Issue description

On the android_cronet bot, gn check of third_party/ffmpeg (not enabled by default) fails because there is no third_party/ffmpeg/chromium/config/Chrome/android/arm folder. There are other folders, like arm64 and arm-neon but no pure arm folder. 

See https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android_cronet/125596

ERROR at //third_party/ffmpeg/BUILD.gn:165:1: Source file not found.
target(link_target_type, "ffmpeg_internal") {
^--------------------------------------------
The target:
  //third_party/ffmpeg:ffmpeg_internal
has a source file:
  //third_party/ffmpeg/chromium/config/Chrome/android/arm/config.h
which was not found.
___________________
ERROR at //third_party/ffmpeg/BUILD.gn:165:1: Source file not found.
target(link_target_type, "ffmpeg_internal") {
^--------------------------------------------
The target:
  //third_party/ffmpeg:ffmpeg_internal
has a source file:
  //third_party/ffmpeg/chromium/config/Chrome/android/arm/libavutil/avconfig.h
which was not found.
GN gen failed: 1


 
Cc: jbudorick@chromium.org
Labels: OS-Android
This could be happening because cronet sets arm_use_neon=false gn flag on armv7 builds to support Tegra 2 devices (which are not supported by Chrome by default).
Just a note: I don't know of any negative side effects of this problem beyond gn check being unhappy, and gn check is disabled for ffmpeg anyway. I found this when enabling it for third_party/*. About 5-10% of the third_party folders, including ffmpeg, had some BUILD.gn problem and will be excluded from checking for a while longer (unless they are fixed first).
Cc: chcunningham@chromium.org
Yeah we don't build arm for Android, https://cs.chromium.org/chromium/src/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py?l=36

Not sure what the right fix is here, but we can build it if needed... but why does android_cronet even try to build ffmpeg? :)
I don't think android_cronet tries to build ffmpeg, it just tries to generate projects with a bunch of unusual gn args:

arm_use_neon = false
clang_use_default_sample_profile = false
dcheck_always_on = true
disable_file_support = true
disable_ftp_support = true
enable_reporting = true
enable_resource_whitelist_generation = false
enable_websockets = false
ffmpeg_branding = "Chrome"
goma_dir = "/b/swarming/w/ir/cache/goma/client"
include_transport_security_state_preload_list = false
is_component_build = false
is_debug = false
proprietary_codecs = true
strip_absolute_paths_from_debug_symbols = true
symbol_level = 1
target_cpu = "arm"
target_os = "android"
use_crash_key_stubs = true
use_goma = true
use_partition_alloc = false
use_platform_icu_alternatives = true

I guess //third_party/ffmpeg/BUILD.gn is somehow reachable from //BUILD.gn, so it gets tickled.
Probably should just set media_use_ffmpeg = false and media_use_libvpx = false to avoid it being pulled in.
prop_codecs and ffmpeg_branding shouldn't be needed either.
Labels: Fixit-Net Hotlist-Fixit

Comment 9 by dbbrooks@chromium.org, Today (10 hours ago)

Status: Available (was: Untriaged)
Dale, from #6 and #7, it sounds like this is triaged at least in the sense that work is intended. So moving to "Available". May want to review for priority, milestone, etc. though. Thanks.

Comment 10 by dalecur...@chromium.org, Today (10 hours ago)

Cc: dalecur...@chromium.org
Components: -Internals>Media>FFmpeg
Yeah, not much we can do here on the media side, the android_cronet target should just not set those flags as per c#6.

Sign in to add a comment