Poison default task queue factory
Users of webrtc generally should be able to choose own task queue implementation. Poison avoids accidental dependency of a low level component on the default implementation Android and ios apis are still de-facto forced to use the default implementation. Bug: webrtc:10284 Change-Id: I67ecf2317f43ee32b0c9e8a6e69f1e0987cf1914 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144786 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28524}
This commit is contained in:
parent
80cb3f6db6
commit
41300af876
3
BUILD.gn
3
BUILD.gn
@ -675,3 +675,6 @@ group("poison_audio_codecs") {
|
||||
|
||||
group("poison_software_video_codecs") {
|
||||
}
|
||||
|
||||
group("poison_default_task_queue") {
|
||||
}
|
||||
|
||||
@ -38,6 +38,7 @@ rtc_source_set("callfactory_api") {
|
||||
if (!build_with_chromium) {
|
||||
rtc_static_library("create_peerconnection_factory") {
|
||||
visibility = [ "*" ]
|
||||
allow_poison = [ "default_task_queue" ]
|
||||
sources = [
|
||||
"create_peerconnection_factory.cc",
|
||||
"create_peerconnection_factory.h",
|
||||
|
||||
@ -49,6 +49,9 @@ rtc_source_set("task_queue_test") {
|
||||
|
||||
rtc_source_set("default_task_queue_factory") {
|
||||
visibility = [ "*" ]
|
||||
if (!is_ios && !is_android) {
|
||||
poisonous = [ "default_task_queue" ]
|
||||
}
|
||||
sources = [
|
||||
"default_task_queue_factory.h",
|
||||
]
|
||||
|
||||
@ -343,6 +343,7 @@ rtc_source_set("rtc_media_engine_defaults") {
|
||||
visibility = [ "*" ]
|
||||
allow_poison = [
|
||||
"audio_codecs",
|
||||
"default_task_queue",
|
||||
"software_video_codecs",
|
||||
]
|
||||
sources = [
|
||||
|
||||
16
sdk/BUILD.gn
16
sdk/BUILD.gn
@ -459,7 +459,10 @@ if (is_ios || is_mac) {
|
||||
if (rtc_use_metal_rendering) {
|
||||
rtc_static_library("metal_objc") {
|
||||
visibility = [ "*" ]
|
||||
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
|
||||
allow_poison = [
|
||||
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
|
||||
"default_task_queue",
|
||||
]
|
||||
sources = [
|
||||
"objc/components/renderer/metal/RTCMTLI420Renderer.h",
|
||||
"objc/components/renderer/metal/RTCMTLI420Renderer.mm",
|
||||
@ -658,7 +661,10 @@ if (is_ios || is_mac) {
|
||||
# The applications which only use WebRTC DataChannel can depend on this.
|
||||
rtc_static_library("peerconnectionfactory_no_media_objc") {
|
||||
visibility = [ "*" ]
|
||||
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
|
||||
allow_poison = [
|
||||
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
|
||||
"default_task_queue",
|
||||
]
|
||||
defines = [ "HAVE_NO_MEDIA" ]
|
||||
|
||||
sources = [
|
||||
@ -776,7 +782,10 @@ if (is_ios || is_mac) {
|
||||
|
||||
rtc_static_library("peerconnectionfactory_base_objc") {
|
||||
visibility = [ "*" ]
|
||||
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
|
||||
allow_poison = [
|
||||
"audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
|
||||
"default_task_queue",
|
||||
]
|
||||
configs += [
|
||||
"..:no_exit_time_destructors",
|
||||
"..:no_global_constructors",
|
||||
@ -908,7 +917,6 @@ if (is_ios || is_mac) {
|
||||
":videorendereradapter_objc",
|
||||
":videosource_objc",
|
||||
":videotoolbox_objc",
|
||||
"../api:create_peerconnection_factory",
|
||||
"../api:libjingle_peerconnection_api",
|
||||
"../api:rtc_event_log_output_file",
|
||||
"../api:rtc_stats_api",
|
||||
|
||||
@ -368,6 +368,9 @@ all_poison_types = [
|
||||
|
||||
# Software video codecs (VP8 and VP9 through libvpx).
|
||||
"software_video_codecs",
|
||||
|
||||
# Default task queue implementation.
|
||||
"default_task_queue",
|
||||
]
|
||||
|
||||
absl_include_config = "//third_party/abseil-cpp:absl_include_config"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user