mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 22:00:47 +01:00
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:
parent
cd7da92012
commit
1f433e46db
9 changed files with 92 additions and 21 deletions
3
BUILD.gn
3
BUILD.gn
|
@ -597,3 +597,6 @@ if (rtc_include_tests) {
|
||||||
#
|
#
|
||||||
group("poison_audio_codecs") {
|
group("poison_audio_codecs") {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
group("poison_software_video_codecs") {
|
||||||
|
}
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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",
|
||||||
|
|
10
pc/BUILD.gn
10
pc/BUILD.gn
|
@ -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",
|
||||||
|
|
50
sdk/BUILD.gn
50
sdk/BUILD.gn
|
@ -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",
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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") {
|
||||||
|
|
Loading…
Reference in a new issue