# Copyright(c) 2020 The WebRTC project authors.All Rights Reserved.
#
# Use of this source code is governed by a BSD - style license
# that can be found in the LICENSE file in the root of the source
# tree.An additional intellectual property rights grant can be found
# in the file PATENTS.All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

import("../../webrtc.gni")

rtc_library("audio_egress") {
  sources = [
    "audio_egress.cc",
    "audio_egress.h",
  ]
  deps = [
    "../../api/audio_codecs:audio_codecs_api",
    "../../api/task_queue",
    "../../audio",
    "../../audio/utility:audio_frame_operations",
    "../../call:audio_sender_interface",
    "../../modules/audio_coding",
    "../../modules/rtp_rtcp",
    "../../modules/rtp_rtcp:rtp_rtcp_format",
    "../../rtc_base:logging",
    "../../rtc_base:rtc_task_queue",
    "../../rtc_base:thread_checker",
    "../../rtc_base:timeutils",
  ]
}
