Mark built-in software video codecs as poisonous.

The goal is to make these injectable, and only VP8 and VP9 specific
targets should depend on them.

Bug: webrtc:7925
Change-Id: Ie9239a54d197fe70c93de0582797211fef6997a2
Reviewed-on: https://webrtc-review.googlesource.com/72082
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23021}
This commit is contained in:
Anders Carlsson 2018-04-24 16:39:05 +02:00 committed by Commit Bot
parent cd7da92012
commit 1f433e46db
9 changed files with 92 additions and 21 deletions

View file

@ -597,3 +597,6 @@ if (rtc_include_tests) {
# #
group("poison_audio_codecs") { group("poison_audio_codecs") {
} }
group("poison_software_video_codecs") {
}

View file

@ -268,7 +268,10 @@ rtc_source_set("video_stream_decoder") {
rtc_source_set("video_stream_decoder_create") { rtc_source_set("video_stream_decoder_create") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
sources = [ sources = [
"video/video_stream_decoder_create.cc", "video/video_stream_decoder_create.cc",
"video/video_stream_decoder_create.h", "video/video_stream_decoder_create.h",

View file

@ -156,7 +156,10 @@ rtc_static_library("rtc_constants") {
rtc_static_library("rtc_internal_video_codecs") { rtc_static_library("rtc_internal_video_codecs") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs",
]
defines = [] defines = []
libs = [] libs = []
deps = [ deps = [
@ -255,7 +258,10 @@ rtc_static_library("rtc_software_fallback_wrappers") {
rtc_static_library("rtc_audio_video") { rtc_static_library("rtc_audio_video") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
defines = [] defines = []
libs = [] libs = []
deps = [ deps = [
@ -423,7 +429,10 @@ rtc_static_library("rtc_data") {
rtc_source_set("rtc_media") { rtc_source_set("rtc_media") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
deps = [ deps = [
":rtc_audio_video", ":rtc_audio_video",
":rtc_data", ":rtc_data",

View file

@ -38,7 +38,10 @@ rtc_static_library("encoded_frame") {
rtc_static_library("video_coding") { rtc_static_library("video_coding") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
deps = [] deps = []
sources = [ sources = [
@ -406,6 +409,7 @@ rtc_static_library("webrtc_vp8_helpers") {
# This target includes the internal SW codec. # This target includes the internal SW codec.
rtc_static_library("webrtc_vp8") { rtc_static_library("webrtc_vp8") {
visibility = [ "*" ] visibility = [ "*" ]
poisonous = [ "software_video_codecs" ]
sources = [ sources = [
"codecs/vp8/include/vp8.h", "codecs/vp8/include/vp8.h",
"codecs/vp8/include/vp8_common_types.h", "codecs/vp8/include/vp8_common_types.h",
@ -474,6 +478,7 @@ rtc_static_library("webrtc_vp9_helpers") {
rtc_static_library("webrtc_vp9") { rtc_static_library("webrtc_vp9") {
visibility = [ "*" ] visibility = [ "*" ]
poisonous = [ "software_video_codecs" ]
if (rtc_libvpx_build_vp9) { if (rtc_libvpx_build_vp9) {
sources = [ sources = [
"codecs/vp9/include/vp9.h", "codecs/vp9/include/vp9.h",

View file

@ -103,7 +103,10 @@ rtc_static_library("rtc_pc_base") {
rtc_source_set("rtc_pc") { rtc_source_set("rtc_pc") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
deps = [ deps = [
":rtc_pc_base", ":rtc_pc_base",
"../media:rtc_audio_video", "../media:rtc_audio_video",
@ -253,7 +256,10 @@ rtc_static_library("create_pc_factory") {
rtc_source_set("libjingle_peerconnection") { rtc_source_set("libjingle_peerconnection") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
deps = [ deps = [
":create_pc_factory", ":create_pc_factory",
":peerconnection", ":peerconnection",

View file

@ -229,7 +229,10 @@ if (is_ios || is_mac) {
rtc_static_library("ui_objc") { rtc_static_library("ui_objc") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
if (is_ios) { if (is_ios) {
sources = [ sources = [
"objc/Framework/Classes/UI/RTCCameraPreviewView.m", "objc/Framework/Classes/UI/RTCCameraPreviewView.m",
@ -256,7 +259,10 @@ if (is_ios || is_mac) {
if (rtc_use_metal_rendering) { if (rtc_use_metal_rendering) {
rtc_static_library("metal_objc") { rtc_static_library("metal_objc") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
sources = [ sources = [
"objc/Framework/Classes/Metal/RTCMTLI420Renderer.h", "objc/Framework/Classes/Metal/RTCMTLI420Renderer.h",
"objc/Framework/Classes/Metal/RTCMTLI420Renderer.mm", "objc/Framework/Classes/Metal/RTCMTLI420Renderer.mm",
@ -318,7 +324,10 @@ if (is_ios || is_mac) {
rtc_static_library("videocapture_objc") { rtc_static_library("videocapture_objc") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
sources = [ sources = [
"objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m", "objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m",
"objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h", "objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h",
@ -402,7 +411,10 @@ if (is_ios || is_mac) {
rtc_static_library("vp8") { rtc_static_library("vp8") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs",
]
sources = [ sources = [
"objc/Framework/Classes/PeerConnection/RTCVideoCodecVP8.mm", "objc/Framework/Classes/PeerConnection/RTCVideoCodecVP8.mm",
"objc/Framework/Headers/WebRTC/RTCVideoDecoderVP8.h", "objc/Framework/Headers/WebRTC/RTCVideoDecoderVP8.h",
@ -424,7 +436,10 @@ if (is_ios || is_mac) {
rtc_static_library("vp9") { rtc_static_library("vp9") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs",
]
sources = [ sources = [
"objc/Framework/Classes/PeerConnection/RTCVideoCodecVP9.mm", "objc/Framework/Classes/PeerConnection/RTCVideoCodecVP9.mm",
"objc/Framework/Headers/WebRTC/RTCVideoDecoderVP9.h", "objc/Framework/Headers/WebRTC/RTCVideoDecoderVP9.h",
@ -453,7 +468,10 @@ if (is_ios || is_mac) {
# The applications which only use WebRTC DataChannel can depend on this. # The applications which only use WebRTC DataChannel can depend on this.
rtc_static_library("peerconnectionfactory_no_media_objc") { rtc_static_library("peerconnectionfactory_no_media_objc") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
defines = [ "HAVE_NO_MEDIA" ] defines = [ "HAVE_NO_MEDIA" ]
sources = [ sources = [
@ -508,7 +526,10 @@ if (is_ios || is_mac) {
rtc_static_library("videorendereradapter_objc") { rtc_static_library("videorendereradapter_objc") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
sources = [ sources = [
"objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter+Private.h", "objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter+Private.h",
"objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h", "objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h",
@ -546,7 +567,10 @@ if (is_ios || is_mac) {
rtc_static_library("peerconnectionfactory_base_objc") { rtc_static_library("peerconnectionfactory_base_objc") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
sources = [ sources = [
"objc/Framework/Classes/PeerConnection/RTCAudioSource+Private.h", "objc/Framework/Classes/PeerConnection/RTCAudioSource+Private.h",
"objc/Framework/Classes/PeerConnection/RTCAudioSource.mm", "objc/Framework/Classes/PeerConnection/RTCAudioSource.mm",
@ -967,7 +991,10 @@ if (is_ios || is_mac) {
# The native API is currently experimental and may change without notice. # The native API is currently experimental and may change without notice.
rtc_static_library("native_api") { rtc_static_library("native_api") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
sources = [ sources = [
"objc/Framework/Native/api/video_capturer.h", "objc/Framework/Native/api/video_capturer.h",
"objc/Framework/Native/api/video_capturer.mm", "objc/Framework/Native/api/video_capturer.mm",
@ -1077,7 +1104,10 @@ if (is_ios || is_mac) {
rtc_static_library("videotoolbox_objc") { rtc_static_library("videotoolbox_objc") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
sources = [ sources = [
"objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm", "objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm",
"objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm", "objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm",

View file

@ -607,7 +607,10 @@ rtc_static_library("peerconnection_jni") {
rtc_static_library("libjingle_peerconnection_jni") { rtc_static_library("libjingle_peerconnection_jni") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
public_deps = [ public_deps = [
":audio_jni", ":audio_jni",
":base_jni", ":base_jni",
@ -1174,7 +1177,10 @@ rtc_static_library("native_api_jni") {
# objects. # objects.
rtc_static_library("native_api_codecs") { rtc_static_library("native_api_codecs") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
sources = [ sources = [
"native_api/codecs/wrapper.cc", "native_api/codecs/wrapper.cc",
"native_api/codecs/wrapper.h", "native_api/codecs/wrapper.h",
@ -1219,7 +1225,10 @@ rtc_static_library("native_api_peerconnection") {
# video interfaces from their Java equivalents. # video interfaces from their Java equivalents.
rtc_static_library("native_api_video") { rtc_static_library("native_api_video") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
sources = [ sources = [
"native_api/video/wrapper.cc", "native_api/video/wrapper.cc",
"native_api/video/wrapper.h", "native_api/video/wrapper.h",

View file

@ -109,7 +109,10 @@ rtc_static_library("video") {
rtc_source_set("video_stream_decoder_impl") { rtc_source_set("video_stream_decoder_impl") {
visibility = [ "*" ] visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. allow_poison = [
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
"software_video_codecs", # TODO(bugs.webrtc.org/7925): Remove.
]
sources = [ sources = [
"video_stream_decoder_impl.cc", "video_stream_decoder_impl.cc",
"video_stream_decoder_impl.h", "video_stream_decoder_impl.h",

View file

@ -309,6 +309,9 @@ if (build_with_chromium) {
all_poison_types = [ all_poison_types = [
# Encoders and decoders for specific audio codecs such as Opus and iSAC. # Encoders and decoders for specific audio codecs such as Opus and iSAC.
"audio_codecs", "audio_codecs",
# Software video codecs (VP8 and VP9 through libvpx).
"software_video_codecs",
] ]
template("rtc_test") { template("rtc_test") {