xref: /aosp_15_r20/external/webrtc/api/audio_codecs/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
2*d9f75844SAndroid Build Coastguard Worker#
3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license
4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source
5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found
6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS.  All contributing project authors may
7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree.
8*d9f75844SAndroid Build Coastguard Worker
9*d9f75844SAndroid Build Coastguard Workerimport("../../webrtc.gni")
10*d9f75844SAndroid Build Coastguard Workerif (is_android) {
11*d9f75844SAndroid Build Coastguard Worker  import("//build/config/android/config.gni")
12*d9f75844SAndroid Build Coastguard Worker  import("//build/config/android/rules.gni")
13*d9f75844SAndroid Build Coastguard Worker}
14*d9f75844SAndroid Build Coastguard Worker
15*d9f75844SAndroid Build Coastguard Workerrtc_library("audio_codecs_api") {
16*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
17*d9f75844SAndroid Build Coastguard Worker  sources = [
18*d9f75844SAndroid Build Coastguard Worker    "audio_codec_pair_id.cc",
19*d9f75844SAndroid Build Coastguard Worker    "audio_codec_pair_id.h",
20*d9f75844SAndroid Build Coastguard Worker    "audio_decoder.cc",
21*d9f75844SAndroid Build Coastguard Worker    "audio_decoder.h",
22*d9f75844SAndroid Build Coastguard Worker    "audio_decoder_factory.h",
23*d9f75844SAndroid Build Coastguard Worker    "audio_decoder_factory_template.h",
24*d9f75844SAndroid Build Coastguard Worker    "audio_encoder.cc",
25*d9f75844SAndroid Build Coastguard Worker    "audio_encoder.h",
26*d9f75844SAndroid Build Coastguard Worker    "audio_encoder_factory.h",
27*d9f75844SAndroid Build Coastguard Worker    "audio_encoder_factory_template.h",
28*d9f75844SAndroid Build Coastguard Worker    "audio_format.cc",
29*d9f75844SAndroid Build Coastguard Worker    "audio_format.h",
30*d9f75844SAndroid Build Coastguard Worker  ]
31*d9f75844SAndroid Build Coastguard Worker  deps = [
32*d9f75844SAndroid Build Coastguard Worker    "..:array_view",
33*d9f75844SAndroid Build Coastguard Worker    "..:bitrate_allocation",
34*d9f75844SAndroid Build Coastguard Worker    "..:make_ref_counted",
35*d9f75844SAndroid Build Coastguard Worker    "..:scoped_refptr",
36*d9f75844SAndroid Build Coastguard Worker    "../../api:field_trials_view",
37*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:buffer",
38*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
39*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:event_tracer",
40*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:refcount",
41*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:sanitizer",
42*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:rtc_export",
43*d9f75844SAndroid Build Coastguard Worker    "../units:time_delta",
44*d9f75844SAndroid Build Coastguard Worker  ]
45*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
46*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/base:core_headers",
47*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
48*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
49*d9f75844SAndroid Build Coastguard Worker  ]
50*d9f75844SAndroid Build Coastguard Worker}
51*d9f75844SAndroid Build Coastguard Worker
52*d9f75844SAndroid Build Coastguard Workerrtc_library("builtin_audio_decoder_factory") {
53*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
54*d9f75844SAndroid Build Coastguard Worker  allow_poison = [ "audio_codecs" ]
55*d9f75844SAndroid Build Coastguard Worker  sources = [
56*d9f75844SAndroid Build Coastguard Worker    "builtin_audio_decoder_factory.cc",
57*d9f75844SAndroid Build Coastguard Worker    "builtin_audio_decoder_factory.h",
58*d9f75844SAndroid Build Coastguard Worker  ]
59*d9f75844SAndroid Build Coastguard Worker  deps = [
60*d9f75844SAndroid Build Coastguard Worker    ":audio_codecs_api",
61*d9f75844SAndroid Build Coastguard Worker    "..:scoped_refptr",
62*d9f75844SAndroid Build Coastguard Worker    "L16:audio_decoder_L16",
63*d9f75844SAndroid Build Coastguard Worker    "g711:audio_decoder_g711",
64*d9f75844SAndroid Build Coastguard Worker    "g722:audio_decoder_g722",
65*d9f75844SAndroid Build Coastguard Worker  ]
66*d9f75844SAndroid Build Coastguard Worker  defines = []
67*d9f75844SAndroid Build Coastguard Worker  if (rtc_include_ilbc) {
68*d9f75844SAndroid Build Coastguard Worker    deps += [ "ilbc:audio_decoder_ilbc" ]
69*d9f75844SAndroid Build Coastguard Worker    defines += [ "WEBRTC_USE_BUILTIN_ILBC=1" ]
70*d9f75844SAndroid Build Coastguard Worker  } else {
71*d9f75844SAndroid Build Coastguard Worker    defines += [ "WEBRTC_USE_BUILTIN_ILBC=0" ]
72*d9f75844SAndroid Build Coastguard Worker  }
73*d9f75844SAndroid Build Coastguard Worker  if (rtc_include_opus) {
74*d9f75844SAndroid Build Coastguard Worker    deps += [
75*d9f75844SAndroid Build Coastguard Worker      "opus:audio_decoder_multiopus",
76*d9f75844SAndroid Build Coastguard Worker      "opus:audio_decoder_opus",
77*d9f75844SAndroid Build Coastguard Worker    ]
78*d9f75844SAndroid Build Coastguard Worker    defines += [ "WEBRTC_USE_BUILTIN_OPUS=1" ]
79*d9f75844SAndroid Build Coastguard Worker  } else {
80*d9f75844SAndroid Build Coastguard Worker    defines += [ "WEBRTC_USE_BUILTIN_OPUS=0" ]
81*d9f75844SAndroid Build Coastguard Worker  }
82*d9f75844SAndroid Build Coastguard Worker}
83*d9f75844SAndroid Build Coastguard Worker
84*d9f75844SAndroid Build Coastguard Workerrtc_library("builtin_audio_encoder_factory") {
85*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
86*d9f75844SAndroid Build Coastguard Worker  allow_poison = [ "audio_codecs" ]
87*d9f75844SAndroid Build Coastguard Worker  sources = [
88*d9f75844SAndroid Build Coastguard Worker    "builtin_audio_encoder_factory.cc",
89*d9f75844SAndroid Build Coastguard Worker    "builtin_audio_encoder_factory.h",
90*d9f75844SAndroid Build Coastguard Worker  ]
91*d9f75844SAndroid Build Coastguard Worker  deps = [
92*d9f75844SAndroid Build Coastguard Worker    ":audio_codecs_api",
93*d9f75844SAndroid Build Coastguard Worker    "..:scoped_refptr",
94*d9f75844SAndroid Build Coastguard Worker    "L16:audio_encoder_L16",
95*d9f75844SAndroid Build Coastguard Worker    "g711:audio_encoder_g711",
96*d9f75844SAndroid Build Coastguard Worker    "g722:audio_encoder_g722",
97*d9f75844SAndroid Build Coastguard Worker  ]
98*d9f75844SAndroid Build Coastguard Worker  defines = []
99*d9f75844SAndroid Build Coastguard Worker  if (rtc_include_ilbc) {
100*d9f75844SAndroid Build Coastguard Worker    deps += [ "ilbc:audio_encoder_ilbc" ]
101*d9f75844SAndroid Build Coastguard Worker    defines += [ "WEBRTC_USE_BUILTIN_ILBC=1" ]
102*d9f75844SAndroid Build Coastguard Worker  } else {
103*d9f75844SAndroid Build Coastguard Worker    defines += [ "WEBRTC_USE_BUILTIN_ILBC=0" ]
104*d9f75844SAndroid Build Coastguard Worker  }
105*d9f75844SAndroid Build Coastguard Worker  if (rtc_include_opus) {
106*d9f75844SAndroid Build Coastguard Worker    deps += [
107*d9f75844SAndroid Build Coastguard Worker      "opus:audio_encoder_multiopus",
108*d9f75844SAndroid Build Coastguard Worker      "opus:audio_encoder_opus",
109*d9f75844SAndroid Build Coastguard Worker    ]
110*d9f75844SAndroid Build Coastguard Worker    defines += [ "WEBRTC_USE_BUILTIN_OPUS=1" ]
111*d9f75844SAndroid Build Coastguard Worker  } else {
112*d9f75844SAndroid Build Coastguard Worker    defines += [ "WEBRTC_USE_BUILTIN_OPUS=0" ]
113*d9f75844SAndroid Build Coastguard Worker  }
114*d9f75844SAndroid Build Coastguard Worker}
115*d9f75844SAndroid Build Coastguard Worker
116*d9f75844SAndroid Build Coastguard Workerrtc_library("opus_audio_decoder_factory") {
117*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
118*d9f75844SAndroid Build Coastguard Worker  allow_poison = [ "audio_codecs" ]
119*d9f75844SAndroid Build Coastguard Worker  sources = [
120*d9f75844SAndroid Build Coastguard Worker    "opus_audio_decoder_factory.cc",
121*d9f75844SAndroid Build Coastguard Worker    "opus_audio_decoder_factory.h",
122*d9f75844SAndroid Build Coastguard Worker  ]
123*d9f75844SAndroid Build Coastguard Worker  deps = [
124*d9f75844SAndroid Build Coastguard Worker    ":audio_codecs_api",
125*d9f75844SAndroid Build Coastguard Worker    "..:scoped_refptr",
126*d9f75844SAndroid Build Coastguard Worker    "opus:audio_decoder_multiopus",
127*d9f75844SAndroid Build Coastguard Worker    "opus:audio_decoder_opus",
128*d9f75844SAndroid Build Coastguard Worker  ]
129*d9f75844SAndroid Build Coastguard Worker}
130*d9f75844SAndroid Build Coastguard Worker
131*d9f75844SAndroid Build Coastguard Workerrtc_library("opus_audio_encoder_factory") {
132*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
133*d9f75844SAndroid Build Coastguard Worker  allow_poison = [ "audio_codecs" ]
134*d9f75844SAndroid Build Coastguard Worker  sources = [
135*d9f75844SAndroid Build Coastguard Worker    "opus_audio_encoder_factory.cc",
136*d9f75844SAndroid Build Coastguard Worker    "opus_audio_encoder_factory.h",
137*d9f75844SAndroid Build Coastguard Worker  ]
138*d9f75844SAndroid Build Coastguard Worker  deps = [
139*d9f75844SAndroid Build Coastguard Worker    ":audio_codecs_api",
140*d9f75844SAndroid Build Coastguard Worker    "..:scoped_refptr",
141*d9f75844SAndroid Build Coastguard Worker    "opus:audio_encoder_multiopus",
142*d9f75844SAndroid Build Coastguard Worker    "opus:audio_encoder_opus",
143*d9f75844SAndroid Build Coastguard Worker  ]
144*d9f75844SAndroid Build Coastguard Worker}
145