xref: /aosp_15_r20/external/webrtc/api/audio_codecs/opus/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1# 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
15rtc_library("audio_encoder_opus_config") {
16  visibility = [ "*" ]
17  sources = [
18    "audio_encoder_multi_channel_opus_config.cc",
19    "audio_encoder_multi_channel_opus_config.h",
20    "audio_encoder_opus_config.cc",
21    "audio_encoder_opus_config.h",
22  ]
23  deps = [ "../../../rtc_base/system:rtc_export" ]
24  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
25  defines = []
26  if (rtc_opus_variable_complexity) {
27    defines += [ "WEBRTC_OPUS_VARIABLE_COMPLEXITY=1" ]
28  } else {
29    defines += [ "WEBRTC_OPUS_VARIABLE_COMPLEXITY=0" ]
30  }
31}
32
33rtc_source_set("audio_decoder_opus_config") {
34  visibility = [ "*" ]
35  sources = [ "audio_decoder_multi_channel_opus_config.h" ]
36  deps = [ "..:audio_codecs_api" ]
37}
38
39rtc_library("audio_encoder_opus") {
40  visibility = [ "*" ]
41  poisonous = [ "audio_codecs" ]
42  public = [ "audio_encoder_opus.h" ]
43  sources = [ "audio_encoder_opus.cc" ]
44  deps = [
45    ":audio_encoder_opus_config",
46    "..:audio_codecs_api",
47    "../../../api:field_trials_view",
48    "../../../modules/audio_coding:webrtc_opus",
49    "../../../rtc_base/system:rtc_export",
50  ]
51  absl_deps = [
52    "//third_party/abseil-cpp/absl/strings",
53    "//third_party/abseil-cpp/absl/types:optional",
54  ]
55}
56
57rtc_library("audio_decoder_opus") {
58  visibility = [ "*" ]
59  poisonous = [ "audio_codecs" ]
60  sources = [
61    "audio_decoder_opus.cc",
62    "audio_decoder_opus.h",
63  ]
64  deps = [
65    "..:audio_codecs_api",
66    "../../../api:field_trials_view",
67    "../../../modules/audio_coding:webrtc_opus",
68    "../../../rtc_base/system:rtc_export",
69  ]
70  absl_deps = [
71    "//third_party/abseil-cpp/absl/strings",
72    "//third_party/abseil-cpp/absl/types:optional",
73  ]
74}
75
76rtc_library("audio_encoder_multiopus") {
77  visibility = [ "*" ]
78  poisonous = [ "audio_codecs" ]
79  public = [ "audio_encoder_multi_channel_opus.h" ]
80  sources = [ "audio_encoder_multi_channel_opus.cc" ]
81  deps = [
82    "..:audio_codecs_api",
83    "../../../api:field_trials_view",
84    "../../../modules/audio_coding:webrtc_multiopus",
85    "../../../rtc_base/system:rtc_export",
86    "../opus:audio_encoder_opus_config",
87  ]
88  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
89}
90
91rtc_library("audio_decoder_multiopus") {
92  visibility = [ "*" ]
93  poisonous = [ "audio_codecs" ]
94  sources = [
95    "audio_decoder_multi_channel_opus.cc",
96    "audio_decoder_multi_channel_opus.h",
97  ]
98  deps = [
99    ":audio_decoder_opus_config",
100    "..:audio_codecs_api",
101    "../../../api:field_trials_view",
102    "../../../modules/audio_coding:webrtc_multiopus",
103    "../../../rtc_base/system:rtc_export",
104  ]
105  absl_deps = [
106    "//third_party/abseil-cpp/absl/memory",
107    "//third_party/abseil-cpp/absl/strings",
108    "//third_party/abseil-cpp/absl/types:optional",
109  ]
110}
111