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