"//media/base" is a source_set in component build [1], and is already part of the "media" target.
I've seen multiple times people want to have some other target depending on "//media/base", while it also depends on "media", causing ODR violations.
This is usually controlled by "visibility" rules. However, today "//media/base" is visible to all targets in //media/* [2]. Given the fact that we have so many different targets in //media/*, e.g. media_remoting, media_blink, media_mojo, capture, etc, this rule seems too loose.
This is also causing some other trouble for capture code, see [3] and [4].
[1] https://cs.chromium.org/chromium/src/media/base/BUILD.gn?rcl=0&l=26
[2] https://cs.chromium.org/chromium/src/media/base/BUILD.gn?rcl=0&l=32
[3] https://cs.chromium.org/chromium/src/media/capture/BUILD.gn?rcl=0&l=102
[4] https://bugs.chromium.org/p/chromium/issues/detail?id=590017#c6
Comment 1 by sheriffbot@chromium.org
, Nov 1 2017Status: Untriaged (was: Available)