blob: 5926f5ec2ec113f66bdf4d3b7fd972b88072fa45 [file] [log] [blame]
kwiberg087bd342017-02-10 16:15:441# Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../../webrtc.gni")
10if (is_android) {
11 import("//build/config/android/config.gni")
12 import("//build/config/android/rules.gni")
13}
14
Mirko Bonadei86d053c2019-10-17 19:32:0415rtc_library("audio_codecs_api") {
Per Kjellandera7f2d842018-01-10 15:54:5316 visibility = [ "*" ]
kwiberg087bd342017-02-10 16:15:4417 sources = [
Karl Wiberg98900742018-03-01 11:03:4918 "audio_codec_pair_id.cc",
19 "audio_codec_pair_id.h",
kwiberg087bd342017-02-10 16:15:4420 "audio_decoder.cc",
21 "audio_decoder.h",
22 "audio_decoder_factory.h",
kwiberg0eacd882017-06-17 22:45:2823 "audio_decoder_factory_template.h",
ossueb1fde42017-05-02 13:46:3024 "audio_encoder.cc",
25 "audio_encoder.h",
26 "audio_encoder_factory.h",
kwiberg65315832017-06-16 17:42:0527 "audio_encoder_factory_template.h",
kwiberg087bd342017-02-10 16:15:4428 "audio_format.cc",
29 "audio_format.h",
30 ]
31 deps = [
kwiberg529662a2017-09-04 12:43:1732 "..:array_view",
Sebastian Jansson540ef282018-11-21 18:18:5133 "..:bitrate_allocation",
Mirko Bonadeid9708072019-01-25 19:26:4834 "..:scoped_refptr",
Patrik Höglunda8005cf2017-12-13 15:05:4235 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 17:40:4736 "../../rtc_base:rtc_base_approved",
Patrik Höglunda8005cf2017-12-13 15:05:4237 "../../rtc_base:sanitizer",
Mirko Bonadeiac194142018-10-22 15:08:3738 "../../rtc_base/system:rtc_export",
Sebastian Jansson62aee932019-10-02 10:27:0639 "../units:time_delta",
Mirko Bonadei2dcf3482020-06-05 12:30:4140 ]
41 absl_deps = [
Karl Wiberg24744a92018-08-15 13:23:0842 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalov0bc58cf2018-06-21 11:32:5643 "//third_party/abseil-cpp/absl/types:optional",
kwiberg087bd342017-02-10 16:15:4444 ]
45}
46
Mirko Bonadei86d053c2019-10-17 19:32:0447rtc_library("builtin_audio_decoder_factory") {
Per Kjellandera7f2d842018-01-10 15:54:5348 visibility = [ "*" ]
Karl Wibergbb23c832018-04-22 17:55:0049 allow_poison = [ "audio_codecs" ]
kwiberg087bd342017-02-10 16:15:4450 sources = [
51 "builtin_audio_decoder_factory.cc",
52 "builtin_audio_decoder_factory.h",
53 ]
54 deps = [
55 ":audio_codecs_api",
Mirko Bonadeid9708072019-01-25 19:26:4856 "..:scoped_refptr",
ehmaldonadof6a861a2017-07-19 17:40:4757 "../../rtc_base:rtc_base_approved",
kwiberge5eb7242017-08-25 10:10:5058 "L16:audio_decoder_L16",
59 "g711:audio_decoder_g711",
Karl Wibergeb254b42017-11-01 14:08:1260 "g722:audio_decoder_g722",
61 "isac:audio_decoder_isac",
kwiberg087bd342017-02-10 16:15:4462 ]
kwiberge5eb7242017-08-25 10:10:5063 defines = []
64 if (rtc_include_ilbc) {
65 deps += [ "ilbc:audio_decoder_ilbc" ]
66 defines += [ "WEBRTC_USE_BUILTIN_ILBC=1" ]
67 } else {
68 defines += [ "WEBRTC_USE_BUILTIN_ILBC=0" ]
69 }
70 if (rtc_include_opus) {
Alex Loikoe5b94162019-04-08 15:19:4171 deps += [
72 "opus:audio_decoder_multiopus",
73 "opus:audio_decoder_opus",
74 ]
kwiberge5eb7242017-08-25 10:10:5075 defines += [ "WEBRTC_USE_BUILTIN_OPUS=1" ]
76 } else {
77 defines += [ "WEBRTC_USE_BUILTIN_OPUS=0" ]
78 }
kwiberg087bd342017-02-10 16:15:4479}
ossueb1fde42017-05-02 13:46:3080
Mirko Bonadei86d053c2019-10-17 19:32:0481rtc_library("builtin_audio_encoder_factory") {
Per Kjellandera7f2d842018-01-10 15:54:5382 visibility = [ "*" ]
Karl Wibergbb23c832018-04-22 17:55:0083 allow_poison = [ "audio_codecs" ]
ossueb1fde42017-05-02 13:46:3084 sources = [
85 "builtin_audio_encoder_factory.cc",
86 "builtin_audio_encoder_factory.h",
87 ]
88 deps = [
89 ":audio_codecs_api",
Mirko Bonadeid9708072019-01-25 19:26:4890 "..:scoped_refptr",
ehmaldonadof6a861a2017-07-19 17:40:4791 "../../rtc_base:rtc_base_approved",
kwiberge5eb7242017-08-25 10:10:5092 "L16:audio_encoder_L16",
93 "g711:audio_encoder_g711",
Karl Wibergeb254b42017-11-01 14:08:1294 "g722:audio_encoder_g722",
95 "isac:audio_encoder_isac",
ossueb1fde42017-05-02 13:46:3096 ]
kwiberge5eb7242017-08-25 10:10:5097 defines = []
98 if (rtc_include_ilbc) {
99 deps += [ "ilbc:audio_encoder_ilbc" ]
100 defines += [ "WEBRTC_USE_BUILTIN_ILBC=1" ]
101 } else {
102 defines += [ "WEBRTC_USE_BUILTIN_ILBC=0" ]
103 }
104 if (rtc_include_opus) {
Alex Loiko44c21f42019-04-25 13:09:32105 deps += [
106 "opus:audio_encoder_multiopus",
107 "opus:audio_encoder_opus",
108 ]
kwiberge5eb7242017-08-25 10:10:50109 defines += [ "WEBRTC_USE_BUILTIN_OPUS=1" ]
110 } else {
111 defines += [ "WEBRTC_USE_BUILTIN_OPUS=0" ]
112 }
ossueb1fde42017-05-02 13:46:30113}
Karl Wiberg44d7ec02019-11-26 13:00:41114
115rtc_library("opus_audio_decoder_factory") {
116 visibility = [ "*" ]
117 allow_poison = [ "audio_codecs" ]
118 sources = [
119 "opus_audio_decoder_factory.cc",
120 "opus_audio_decoder_factory.h",
121 ]
122 deps = [
123 ":audio_codecs_api",
124 "..:scoped_refptr",
125 "../../rtc_base:rtc_base_approved",
126 "opus:audio_decoder_multiopus",
127 "opus:audio_decoder_opus",
128 ]
129}
130
131rtc_library("opus_audio_encoder_factory") {
132 visibility = [ "*" ]
133 allow_poison = [ "audio_codecs" ]
134 sources = [
135 "opus_audio_encoder_factory.cc",
136 "opus_audio_encoder_factory.h",
137 ]
138 deps = [
139 ":audio_codecs_api",
140 "..:scoped_refptr",
141 "../../rtc_base:rtc_base_approved",
142 "opus:audio_encoder_multiopus",
143 "opus:audio_encoder_opus",
144 ]
145}