blob: 3ed63965b27442e3475adb92ec490f5c115005e6 [file] [log] [blame]
kwiberg087bd342017-02-10 08:15:44 -08001# 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_source_set("audio_codecs_api") {
16 sources = [
17 "audio_decoder.cc",
18 "audio_decoder.h",
19 "audio_decoder_factory.h",
kwiberg0eacd882017-06-17 15:45:28 -070020 "audio_decoder_factory_template.h",
ossueb1fde42017-05-02 06:46:30 -070021 "audio_encoder.cc",
22 "audio_encoder.h",
23 "audio_encoder_factory.h",
kwiberg65315832017-06-16 10:42:05 -070024 "audio_encoder_factory_template.h",
kwiberg087bd342017-02-10 08:15:44 -080025 "audio_format.cc",
26 "audio_format.h",
27 ]
28 deps = [
29 "../..:webrtc_common",
ehmaldonadof6a861a2017-07-19 10:40:47 -070030 "../../rtc_base:rtc_base_approved",
kwiberg087bd342017-02-10 08:15:44 -080031 ]
32}
33
34rtc_static_library("builtin_audio_decoder_factory") {
35 sources = [
36 "builtin_audio_decoder_factory.cc",
37 "builtin_audio_decoder_factory.h",
38 ]
39 deps = [
40 ":audio_codecs_api",
ehmaldonadof6a861a2017-07-19 10:40:47 -070041 "../../rtc_base:rtc_base_approved",
kwiberge5eb7242017-08-25 03:10:50 -070042 "L16:audio_decoder_L16",
43 "g711:audio_decoder_g711",
kwiberg087bd342017-02-10 08:15:44 -080044 ]
kwiberge5eb7242017-08-25 03:10:50 -070045 defines = []
46 if (rtc_include_ilbc) {
47 deps += [ "ilbc:audio_decoder_ilbc" ]
48 defines += [ "WEBRTC_USE_BUILTIN_ILBC=1" ]
49 } else {
50 defines += [ "WEBRTC_USE_BUILTIN_ILBC=0" ]
51 }
52 if (rtc_include_opus) {
53 deps += [ "opus:audio_decoder_opus" ]
54 defines += [ "WEBRTC_USE_BUILTIN_OPUS=1" ]
55 } else {
56 defines += [ "WEBRTC_USE_BUILTIN_OPUS=0" ]
57 }
58 if (build_with_mozilla) {
59 defines += [
60 "WEBRTC_USE_BUILTIN_G722=0",
61 "WEBRTC_USE_BUILTIN_ISAC_FIX=0",
62 "WEBRTC_USE_BUILTIN_ISAC_FLOAT=0",
63 ]
64 } else {
65 if (current_cpu == "arm") {
66 deps += [ "isac:audio_decoder_isac_fix" ]
67 defines += [
68 "WEBRTC_USE_BUILTIN_ISAC_FIX=1",
69 "WEBRTC_USE_BUILTIN_ISAC_FLOAT=0",
70 ]
71 } else {
72 deps += [ "isac:audio_decoder_isac_float" ]
73 defines += [
74 "WEBRTC_USE_BUILTIN_ISAC_FIX=0",
75 "WEBRTC_USE_BUILTIN_ISAC_FLOAT=1",
76 ]
77 }
78 deps += [ "g722:audio_decoder_g722" ]
79 defines += [ "WEBRTC_USE_BUILTIN_G722=1" ]
80 }
kwiberg087bd342017-02-10 08:15:44 -080081}
ossueb1fde42017-05-02 06:46:30 -070082
83rtc_static_library("builtin_audio_encoder_factory") {
84 sources = [
85 "builtin_audio_encoder_factory.cc",
86 "builtin_audio_encoder_factory.h",
87 ]
88 deps = [
89 ":audio_codecs_api",
ehmaldonadof6a861a2017-07-19 10:40:47 -070090 "../../rtc_base:rtc_base_approved",
kwiberge5eb7242017-08-25 03:10:50 -070091 "L16:audio_encoder_L16",
92 "g711:audio_encoder_g711",
ossueb1fde42017-05-02 06:46:30 -070093 ]
kwiberge5eb7242017-08-25 03:10:50 -070094 defines = []
95 if (rtc_include_ilbc) {
96 deps += [ "ilbc:audio_encoder_ilbc" ]
97 defines += [ "WEBRTC_USE_BUILTIN_ILBC=1" ]
98 } else {
99 defines += [ "WEBRTC_USE_BUILTIN_ILBC=0" ]
100 }
101 if (rtc_include_opus) {
102 deps += [ "opus:audio_encoder_opus" ]
103 defines += [ "WEBRTC_USE_BUILTIN_OPUS=1" ]
104 } else {
105 defines += [ "WEBRTC_USE_BUILTIN_OPUS=0" ]
106 }
107 if (build_with_mozilla) {
108 defines += [
109 "WEBRTC_USE_BUILTIN_G722=0",
110 "WEBRTC_USE_BUILTIN_ISAC_FIX=0",
111 "WEBRTC_USE_BUILTIN_ISAC_FLOAT=0",
112 ]
113 } else {
114 if (current_cpu == "arm") {
115 deps += [ "isac:audio_encoder_isac_fix" ]
116 defines += [
117 "WEBRTC_USE_BUILTIN_ISAC_FIX=1",
118 "WEBRTC_USE_BUILTIN_ISAC_FLOAT=0",
119 ]
120 } else {
121 deps += [ "isac:audio_encoder_isac_float" ]
122 defines += [
123 "WEBRTC_USE_BUILTIN_ISAC_FIX=0",
124 "WEBRTC_USE_BUILTIN_ISAC_FLOAT=1",
125 ]
126 }
127 deps += [ "g722:audio_encoder_g722" ]
128 defines += [ "WEBRTC_USE_BUILTIN_G722=1" ]
129 }
ossueb1fde42017-05-02 06:46:30 -0700130}