2015-09-25 13:58:30 +02:00
|
|
|
# Copyright (c) 2015 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.
|
|
|
|
|
|
2017-01-24 06:58:22 -08:00
|
|
|
import("../webrtc.gni")
|
2015-09-25 13:58:30 +02:00
|
|
|
|
2020-12-14 15:28:43 +01:00
|
|
|
rtc_library("version") {
|
|
|
|
|
sources = [
|
|
|
|
|
"version.cc",
|
|
|
|
|
"version.h",
|
|
|
|
|
]
|
|
|
|
|
visibility = [ ":*" ]
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("call_interfaces") {
|
2016-12-07 04:52:58 -08:00
|
|
|
sources = [
|
2018-04-09 14:24:52 +02:00
|
|
|
"audio_receive_stream.cc",
|
2016-12-07 04:52:58 -08:00
|
|
|
"audio_receive_stream.h",
|
|
|
|
|
"audio_send_stream.h",
|
2018-04-09 14:24:52 +02:00
|
|
|
"audio_state.cc",
|
2016-12-07 04:52:58 -08:00
|
|
|
"audio_state.h",
|
|
|
|
|
"call.h",
|
2018-04-09 14:24:52 +02:00
|
|
|
"call_config.cc",
|
|
|
|
|
"call_config.h",
|
|
|
|
|
"flexfec_receive_stream.cc",
|
2016-12-19 01:13:46 -08:00
|
|
|
"flexfec_receive_stream.h",
|
2018-08-07 11:03:12 +02:00
|
|
|
"packet_receiver.h",
|
2017-01-31 03:58:40 -08:00
|
|
|
"syncable.cc",
|
|
|
|
|
"syncable.h",
|
2016-12-07 04:52:58 -08:00
|
|
|
]
|
2018-01-15 10:20:00 -05:00
|
|
|
if (!build_with_mozilla) {
|
|
|
|
|
sources += [ "audio_send_stream.cc" ]
|
|
|
|
|
}
|
2021-06-14 10:54:20 +02:00
|
|
|
|
2017-02-27 15:57:45 -08:00
|
|
|
deps = [
|
2020-01-10 10:33:05 -08:00
|
|
|
":audio_sender_interface",
|
2021-06-14 10:54:20 +02:00
|
|
|
":receive_stream_interface",
|
2017-06-01 04:02:35 -07:00
|
|
|
":rtp_interfaces",
|
2017-08-22 05:43:23 -07:00
|
|
|
":video_stream_api",
|
2018-01-19 17:58:57 +01:00
|
|
|
"../api:fec_controller_api",
|
2022-03-29 11:04:48 +02:00
|
|
|
"../api:field_trials_view",
|
2020-03-31 11:29:56 +02:00
|
|
|
"../api:frame_transformer_interface",
|
2019-04-10 13:48:24 +02:00
|
|
|
"../api:network_state_predictor_api",
|
2019-09-13 14:42:15 +02:00
|
|
|
"../api:rtc_error",
|
2019-03-20 08:40:23 +01:00
|
|
|
"../api:rtp_headers",
|
2019-08-26 10:45:28 +02:00
|
|
|
"../api:rtp_parameters",
|
2019-01-25 20:26:48 +01:00
|
|
|
"../api:scoped_refptr",
|
2017-02-27 15:57:45 -08:00
|
|
|
"../api:transport_api",
|
2020-06-11 12:07:14 +02:00
|
|
|
"../api/adaptation:resource_adaptation_api",
|
2020-09-30 18:27:39 +02:00
|
|
|
"../api/audio:audio_frame_processor",
|
2018-02-16 13:43:49 +01:00
|
|
|
"../api/audio:audio_mixer_api",
|
2017-02-27 15:57:45 -08:00
|
|
|
"../api/audio_codecs:audio_codecs_api",
|
2019-09-13 14:42:15 +02:00
|
|
|
"../api/crypto:frame_encryptor_interface",
|
|
|
|
|
"../api/crypto:options",
|
2022-02-14 14:09:57 +01:00
|
|
|
"../api/metronome",
|
2019-11-01 11:47:51 +01:00
|
|
|
"../api/neteq:neteq_api",
|
2019-03-01 14:45:21 +01:00
|
|
|
"../api/task_queue",
|
2019-09-17 14:47:38 +02:00
|
|
|
"../api/transport:bitrate_settings",
|
2018-05-18 18:05:10 +02:00
|
|
|
"../api/transport:network_control",
|
2020-09-30 18:27:39 +02:00
|
|
|
"../modules/async_audio_processing",
|
2019-03-21 13:35:10 +01:00
|
|
|
"../modules/audio_device",
|
|
|
|
|
"../modules/audio_processing",
|
2018-11-07 14:29:54 +00:00
|
|
|
"../modules/audio_processing:api",
|
2017-11-24 17:29:59 +01:00
|
|
|
"../modules/audio_processing:audio_processing_statistics",
|
2019-05-27 12:19:33 +02:00
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
2019-03-21 13:35:10 +01:00
|
|
|
"../modules/utility",
|
|
|
|
|
"../rtc_base",
|
2018-04-03 13:40:05 +02:00
|
|
|
"../rtc_base:audio_format_to_string",
|
2018-10-23 12:03:01 +02:00
|
|
|
"../rtc_base:checks",
|
2022-04-19 17:40:46 +02:00
|
|
|
"../rtc_base:copy_on_write_buffer",
|
2022-04-05 02:54:12 +02:00
|
|
|
"../rtc_base:refcount",
|
2022-04-04 17:14:02 +02:00
|
|
|
"../rtc_base:stringutils",
|
2018-10-15 21:06:26 +02:00
|
|
|
"../rtc_base/network:sent_packet",
|
2017-02-27 15:57:45 -08:00
|
|
|
]
|
2021-05-12 09:02:43 +02:00
|
|
|
absl_deps = [
|
|
|
|
|
"//third_party/abseil-cpp/absl/functional:bind_front",
|
|
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
|
]
|
2016-12-07 04:52:58 -08:00
|
|
|
}
|
|
|
|
|
|
2020-01-10 10:33:05 -08:00
|
|
|
rtc_source_set("audio_sender_interface") {
|
|
|
|
|
visibility = [ "*" ]
|
2020-01-21 12:10:10 +01:00
|
|
|
sources = [ "audio_sender.h" ]
|
|
|
|
|
deps = [ "../api/audio:audio_frame_api" ]
|
2020-01-10 10:33:05 -08:00
|
|
|
}
|
|
|
|
|
|
2017-06-01 04:02:35 -07:00
|
|
|
# TODO(nisse): These RTP targets should be moved elsewhere
|
2021-07-26 12:40:21 +02:00
|
|
|
# when interfaces have stabilized. See also TODO for `mock_rtp_interfaces`.
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("rtp_interfaces") {
|
2018-10-04 13:41:03 +02:00
|
|
|
# Client code SHOULD NOT USE THIS TARGET, but for now it needs to be public
|
|
|
|
|
# because there exists client code that uses it.
|
|
|
|
|
# TODO(bugs.webrtc.org/9808): Move to private visibility as soon as that
|
|
|
|
|
# client code gets updated.
|
|
|
|
|
visibility = [ "*" ]
|
2017-06-01 04:02:35 -07:00
|
|
|
sources = [
|
2017-09-01 15:29:28 +02:00
|
|
|
"rtp_config.cc",
|
|
|
|
|
"rtp_config.h",
|
2017-06-01 04:02:35 -07:00
|
|
|
"rtp_packet_sink_interface.h",
|
2017-06-21 01:05:22 -07:00
|
|
|
"rtp_stream_receiver_controller_interface.h",
|
2021-05-31 14:02:28 +02:00
|
|
|
"rtp_transport_config.h",
|
|
|
|
|
"rtp_transport_controller_send_factory_interface.h",
|
2017-06-01 04:02:35 -07:00
|
|
|
"rtp_transport_controller_send_interface.h",
|
|
|
|
|
]
|
2017-06-26 11:23:54 -07:00
|
|
|
deps = [
|
2017-09-04 05:43:17 -07:00
|
|
|
"../api:array_view",
|
2018-10-04 15:21:55 +02:00
|
|
|
"../api:fec_controller_api",
|
2022-03-29 11:04:48 +02:00
|
|
|
"../api:field_trials_view",
|
2020-02-27 16:16:55 +01:00
|
|
|
"../api:frame_transformer_interface",
|
2021-05-31 14:02:28 +02:00
|
|
|
"../api:network_state_predictor_api",
|
2019-03-20 08:40:23 +01:00
|
|
|
"../api:rtp_headers",
|
2019-08-26 10:45:28 +02:00
|
|
|
"../api:rtp_parameters",
|
2019-09-13 14:42:15 +02:00
|
|
|
"../api/crypto:options",
|
2019-08-07 12:24:53 +02:00
|
|
|
"../api/rtc_event_log",
|
2018-05-07 14:01:37 +02:00
|
|
|
"../api/transport:bitrate_settings",
|
2021-05-31 14:02:28 +02:00
|
|
|
"../api/transport:network_control",
|
2019-07-29 16:38:27 +02:00
|
|
|
"../api/units:timestamp",
|
2020-08-25 10:28:50 +02:00
|
|
|
"../common_video:frame_counts",
|
2018-07-17 16:03:46 +02:00
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
2021-05-31 14:02:28 +02:00
|
|
|
"../modules/utility",
|
[Stats] Explicit RTP-RTX and RTP-FEC mappings. Unblocks simulcast stats.
--- Background ---
The webrtc::VideoSendStream::StreamStats are converted into
VideoSenderInfo objects which turn into "outbound-rtp" stats objects in
getStats() (or "ssrc" objects in legacy getStats()).
StreamStats are created for each type of substream: RTP media streams,
RTX streams and FlexFEC streams - each with individual packet counters.
The RTX stream is responsible for retransmissions of a referenced media
stream and the FlexFEC stream is responsible for FEC of a referenced
media stream. RTX/FEC streams do not show up as separate objects in
getStats(). Only the media streams become "outbound-rtp" objects, but
their packet and byte counters have to include the RTX and FEC counters.
--- Overview of this CL ---
This CL adds MergeInfoAboutOutboundRtpSubstreams(). It takes
StreamStats of all kinds as input, and outputs media-only StreamStats
- incorporating the RTX and FEC counters into the relevant media
StreamStats.
The merged StreamStats objects is a smaller set of objects than the
non-merged counterparts, but when aggregating all packet counters
together we end up with exact same packet and count as before.
Because WebRtcVideoSendStream::GetVideoSenderInfo() currently aggregates
the StreamStats into a single VideoSenderInfo (single "outbound-rtp"),
this CL should not have any observable side-effects. Prior to this CL:
aggregate StreamStats. After this CL: merge StreamStats and then
aggregate them.
However, when simulcast stats are implemented (WIP CL:
https://webrtc-review.googlesource.com/c/src/+/168120) each RTP media
stream should turn into an individual "outbound-rtp" object. We will
then no longer aggregate all StreamStats into a single "info". This CL
unblocks simulcast stats by providing StreamStats objects that could be
turned into individual VideoSenderInfos.
--- The Changes ---
1. Methods added to RtpConfig to be able to easily tell the relationship
between RTP, RTX and FEC ssrcs.
2. StreamStats gets a StreamType (kMedia, kRtx or kFlexfec) that
replaces the booleans (is_rtx, is_flexfec).
3. "referenced_media_ssrc" is added to StreamStats, making it possible
to tell which kRtx/kFlexFec stream stats need to be merged with which
kMedia StreamStats.
4. MergeInfoAboutOutboundRtpSubstreams() added and used.
Bug: webrtc:11439
Change-Id: Iaf9002041169a054ddfd32c7ea06bd1dc36c6bca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170826
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30869}
2020-03-24 13:30:50 +01:00
|
|
|
"../rtc_base:checks",
|
2021-05-31 14:02:28 +02:00
|
|
|
"../rtc_base:rtc_task_queue",
|
2022-04-04 17:14:02 +02:00
|
|
|
"../rtc_base:stringutils",
|
2020-06-05 14:30:41 +02:00
|
|
|
]
|
|
|
|
|
absl_deps = [
|
[Stats] Explicit RTP-RTX and RTP-FEC mappings. Unblocks simulcast stats.
--- Background ---
The webrtc::VideoSendStream::StreamStats are converted into
VideoSenderInfo objects which turn into "outbound-rtp" stats objects in
getStats() (or "ssrc" objects in legacy getStats()).
StreamStats are created for each type of substream: RTP media streams,
RTX streams and FlexFEC streams - each with individual packet counters.
The RTX stream is responsible for retransmissions of a referenced media
stream and the FlexFEC stream is responsible for FEC of a referenced
media stream. RTX/FEC streams do not show up as separate objects in
getStats(). Only the media streams become "outbound-rtp" objects, but
their packet and byte counters have to include the RTX and FEC counters.
--- Overview of this CL ---
This CL adds MergeInfoAboutOutboundRtpSubstreams(). It takes
StreamStats of all kinds as input, and outputs media-only StreamStats
- incorporating the RTX and FEC counters into the relevant media
StreamStats.
The merged StreamStats objects is a smaller set of objects than the
non-merged counterparts, but when aggregating all packet counters
together we end up with exact same packet and count as before.
Because WebRtcVideoSendStream::GetVideoSenderInfo() currently aggregates
the StreamStats into a single VideoSenderInfo (single "outbound-rtp"),
this CL should not have any observable side-effects. Prior to this CL:
aggregate StreamStats. After this CL: merge StreamStats and then
aggregate them.
However, when simulcast stats are implemented (WIP CL:
https://webrtc-review.googlesource.com/c/src/+/168120) each RTP media
stream should turn into an individual "outbound-rtp" object. We will
then no longer aggregate all StreamStats into a single "info". This CL
unblocks simulcast stats by providing StreamStats objects that could be
turned into individual VideoSenderInfos.
--- The Changes ---
1. Methods added to RtpConfig to be able to easily tell the relationship
between RTP, RTX and FEC ssrcs.
2. StreamStats gets a StreamType (kMedia, kRtx or kFlexfec) that
replaces the booleans (is_rtx, is_flexfec).
3. "referenced_media_ssrc" is added to StreamStats, making it possible
to tell which kRtx/kFlexFec stream stats need to be merged with which
kMedia StreamStats.
4. MergeInfoAboutOutboundRtpSubstreams() added and used.
Bug: webrtc:11439
Change-Id: Iaf9002041169a054ddfd32c7ea06bd1dc36c6bca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170826
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30869}
2020-03-24 13:30:50 +01:00
|
|
|
"//third_party/abseil-cpp/absl/algorithm:container",
|
2018-06-15 12:28:07 +02:00
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
2017-06-26 11:23:54 -07:00
|
|
|
]
|
2017-06-01 04:02:35 -07:00
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("rtp_receiver") {
|
2018-01-10 15:54:53 +00:00
|
|
|
visibility = [ "*" ]
|
2017-06-01 04:02:35 -07:00
|
|
|
sources = [
|
|
|
|
|
"rtp_demuxer.cc",
|
|
|
|
|
"rtp_demuxer.h",
|
2017-06-21 01:05:22 -07:00
|
|
|
"rtp_stream_receiver_controller.cc",
|
|
|
|
|
"rtp_stream_receiver_controller.h",
|
2017-06-01 04:02:35 -07:00
|
|
|
"rtx_receive_stream.cc",
|
|
|
|
|
"rtx_receive_stream.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
|
|
|
|
":rtp_interfaces",
|
2017-09-04 05:43:17 -07:00
|
|
|
"../api:array_view",
|
2019-03-20 08:40:23 +01:00
|
|
|
"../api:rtp_headers",
|
2021-02-10 14:31:24 +01:00
|
|
|
"../api:sequence_checker",
|
2017-06-01 04:02:35 -07:00
|
|
|
"../modules/rtp_rtcp",
|
2017-12-06 07:51:33 +01:00
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
2017-12-13 16:05:42 +01:00
|
|
|
"../rtc_base:checks",
|
2022-04-04 15:06:30 +02:00
|
|
|
"../rtc_base:logging",
|
2022-04-04 17:14:02 +02:00
|
|
|
"../rtc_base:stringutils",
|
2021-07-01 21:42:02 +02:00
|
|
|
"../rtc_base/containers:flat_map",
|
|
|
|
|
"../rtc_base/containers:flat_set",
|
2017-06-01 04:02:35 -07:00
|
|
|
]
|
2022-01-03 13:04:51 +00:00
|
|
|
absl_deps = [
|
|
|
|
|
"//third_party/abseil-cpp/absl/strings:strings",
|
|
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
|
]
|
2017-06-01 04:02:35 -07:00
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("rtp_sender") {
|
2017-06-01 04:02:35 -07:00
|
|
|
sources = [
|
2018-07-17 10:16:41 +02:00
|
|
|
"rtp_payload_params.cc",
|
|
|
|
|
"rtp_payload_params.h",
|
2017-06-01 04:02:35 -07:00
|
|
|
"rtp_transport_controller_send.cc",
|
|
|
|
|
"rtp_transport_controller_send.h",
|
2021-05-31 14:02:28 +02:00
|
|
|
"rtp_transport_controller_send_factory.h",
|
2018-07-19 10:34:38 +02:00
|
|
|
"rtp_video_sender.cc",
|
|
|
|
|
"rtp_video_sender.h",
|
|
|
|
|
"rtp_video_sender_interface.h",
|
2017-06-01 04:02:35 -07:00
|
|
|
]
|
|
|
|
|
deps = [
|
2018-02-21 13:01:55 +01:00
|
|
|
":bitrate_configurator",
|
2017-06-01 04:02:35 -07:00
|
|
|
":rtp_interfaces",
|
2019-04-10 15:55:00 +02:00
|
|
|
"../api:array_view",
|
2019-10-15 15:58:37 +02:00
|
|
|
"../api:bitrate_allocation",
|
2018-10-04 15:21:55 +02:00
|
|
|
"../api:fec_controller_api",
|
2022-03-29 11:04:48 +02:00
|
|
|
"../api:field_trials_view",
|
2019-04-10 13:48:24 +02:00
|
|
|
"../api:network_state_predictor_api",
|
2019-08-26 10:45:28 +02:00
|
|
|
"../api:rtp_parameters",
|
2021-02-10 14:31:24 +01:00
|
|
|
"../api:sequence_checker",
|
2018-07-17 16:03:46 +02:00
|
|
|
"../api:transport_api",
|
2019-08-07 12:24:53 +02:00
|
|
|
"../api/rtc_event_log",
|
2019-03-04 16:49:25 +01:00
|
|
|
"../api/transport:field_trial_based_config",
|
2018-12-05 17:35:35 +01:00
|
|
|
"../api/transport:goog_cc",
|
2018-05-09 10:33:39 +02:00
|
|
|
"../api/transport:network_control",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../api/units:data_rate",
|
|
|
|
|
"../api/units:time_delta",
|
|
|
|
|
"../api/units:timestamp",
|
|
|
|
|
"../api/video:video_frame",
|
2020-10-16 10:30:40 +02:00
|
|
|
"../api/video:video_layers_allocation",
|
2019-06-10 12:59:38 +02:00
|
|
|
"../api/video:video_rtp_headers",
|
2018-07-11 17:11:31 +02:00
|
|
|
"../api/video_codecs:video_codecs_api",
|
2019-05-13 11:57:42 +02:00
|
|
|
"../logging:rtc_event_bwe",
|
2017-06-01 04:02:35 -07:00
|
|
|
"../modules/congestion_controller",
|
2018-12-05 17:35:35 +01:00
|
|
|
"../modules/congestion_controller/rtp:control_handler",
|
|
|
|
|
"../modules/congestion_controller/rtp:transport_feedback",
|
2017-10-31 10:19:10 +01:00
|
|
|
"../modules/pacing",
|
2019-03-21 13:35:10 +01:00
|
|
|
"../modules/rtp_rtcp",
|
2018-07-11 17:11:31 +02:00
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
|
|
|
|
"../modules/rtp_rtcp:rtp_video_header",
|
2018-02-22 11:10:18 +01:00
|
|
|
"../modules/utility",
|
2020-05-19 14:48:19 +02:00
|
|
|
"../modules/video_coding:chain_diff_calculator",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../modules/video_coding:codec_globals_headers",
|
2020-02-10 16:22:57 +01:00
|
|
|
"../modules/video_coding:frame_dependencies_calculator",
|
2018-07-11 17:11:31 +02:00
|
|
|
"../modules/video_coding:video_codec_interface",
|
2019-03-21 13:35:10 +01:00
|
|
|
"../rtc_base",
|
2018-07-11 17:11:31 +02:00
|
|
|
"../rtc_base:checks",
|
2022-04-19 17:47:13 +02:00
|
|
|
"../rtc_base:event_tracer",
|
2022-04-14 13:13:56 +02:00
|
|
|
"../rtc_base:location",
|
2022-04-04 15:06:30 +02:00
|
|
|
"../rtc_base:logging",
|
2022-04-04 15:18:46 +02:00
|
|
|
"../rtc_base:macromagic",
|
2022-04-14 13:38:05 +02:00
|
|
|
"../rtc_base:race_checker",
|
2022-04-14 12:41:26 +02:00
|
|
|
"../rtc_base:random",
|
2018-07-17 16:03:46 +02:00
|
|
|
"../rtc_base:rate_limiter",
|
2018-05-04 14:08:15 +02:00
|
|
|
"../rtc_base:rtc_task_queue",
|
2022-04-04 17:16:15 +02:00
|
|
|
"../rtc_base:timeutils",
|
2020-07-06 17:41:35 +02:00
|
|
|
"../rtc_base/synchronization:mutex",
|
2019-01-18 10:30:54 +01:00
|
|
|
"../rtc_base/task_utils:repeating_task",
|
2020-06-05 14:30:41 +02:00
|
|
|
]
|
|
|
|
|
absl_deps = [
|
2019-05-29 13:02:24 +02:00
|
|
|
"//third_party/abseil-cpp/absl/algorithm:container",
|
2018-11-28 16:47:49 +01:00
|
|
|
"//third_party/abseil-cpp/absl/container:inlined_vector",
|
2019-10-02 20:55:39 +02:00
|
|
|
"//third_party/abseil-cpp/absl/strings:strings",
|
2018-11-28 16:47:49 +01:00
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
|
"//third_party/abseil-cpp/absl/types:variant",
|
2017-06-01 04:02:35 -07:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("bitrate_configurator") {
|
2018-02-20 19:38:37 +01:00
|
|
|
sources = [
|
|
|
|
|
"rtp_bitrate_configurator.cc",
|
|
|
|
|
"rtp_bitrate_configurator.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
|
|
|
|
":rtp_interfaces",
|
2019-08-29 12:16:56 +02:00
|
|
|
|
|
|
|
|
# For api/bitrate_constraints.h
|
2018-06-21 16:58:01 +02:00
|
|
|
"../api:libjingle_peerconnection_api",
|
2018-05-07 14:01:37 +02:00
|
|
|
"../api/transport:bitrate_settings",
|
2020-03-26 20:37:21 +01:00
|
|
|
"../api/units:data_rate",
|
2018-02-20 19:38:37 +01:00
|
|
|
"../rtc_base:checks",
|
|
|
|
|
]
|
2020-06-05 14:30:41 +02:00
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
2018-02-20 19:38:37 +01:00
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("bitrate_allocator") {
|
2015-09-25 13:58:30 +02:00
|
|
|
sources = [
|
2015-11-12 21:02:42 -08:00
|
|
|
"bitrate_allocator.cc",
|
2017-10-10 14:38:11 +02:00
|
|
|
"bitrate_allocator.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
2018-11-21 19:18:39 +01:00
|
|
|
"../api:bitrate_allocation",
|
2021-02-10 14:31:24 +01:00
|
|
|
"../api:sequence_checker",
|
2019-09-18 18:31:52 +02:00
|
|
|
"../api/transport:network_control",
|
2018-11-21 19:13:07 +01:00
|
|
|
"../api/units:data_rate",
|
|
|
|
|
"../api/units:time_delta",
|
2017-12-13 16:05:42 +01:00
|
|
|
"../rtc_base:checks",
|
2022-04-04 15:06:30 +02:00
|
|
|
"../rtc_base:logging",
|
2019-09-19 14:54:43 +02:00
|
|
|
"../rtc_base:safe_minmax",
|
2020-11-23 11:07:42 +01:00
|
|
|
"../rtc_base/system:no_unique_address",
|
2017-10-10 14:38:11 +02:00
|
|
|
"../system_wrappers",
|
2018-09-28 08:51:10 +02:00
|
|
|
"../system_wrappers:field_trial",
|
|
|
|
|
"../system_wrappers:metrics",
|
2017-10-10 14:38:11 +02:00
|
|
|
]
|
2020-06-05 14:30:41 +02:00
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
|
2017-10-10 14:38:11 +02:00
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("call") {
|
2017-10-10 14:38:11 +02:00
|
|
|
sources = [
|
2015-09-25 13:58:30 +02:00
|
|
|
"call.cc",
|
2019-01-11 09:11:00 -08:00
|
|
|
"call_factory.cc",
|
|
|
|
|
"call_factory.h",
|
2018-03-14 15:16:50 +01:00
|
|
|
"degraded_call.cc",
|
|
|
|
|
"degraded_call.h",
|
2016-12-19 01:13:46 -08:00
|
|
|
"flexfec_receive_stream_impl.cc",
|
|
|
|
|
"flexfec_receive_stream_impl.h",
|
2018-03-21 14:38:32 +01:00
|
|
|
"receive_time_calculator.cc",
|
|
|
|
|
"receive_time_calculator.h",
|
2015-09-25 13:58:30 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
deps = [
|
2017-10-10 14:38:11 +02:00
|
|
|
":bitrate_allocator",
|
2016-12-07 04:52:58 -08:00
|
|
|
":call_interfaces",
|
2018-03-14 15:16:50 +01:00
|
|
|
":fake_network",
|
2017-06-01 04:02:35 -07:00
|
|
|
":rtp_interfaces",
|
|
|
|
|
":rtp_receiver",
|
|
|
|
|
":rtp_sender",
|
2018-08-17 13:00:54 +02:00
|
|
|
":simulated_network",
|
2020-12-14 15:28:43 +01:00
|
|
|
":version",
|
2017-09-01 15:29:28 +02:00
|
|
|
":video_stream_api",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../api:array_view",
|
2018-02-14 12:20:13 +01:00
|
|
|
"../api:callfactory_api",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../api:fec_controller_api",
|
2022-03-29 11:04:48 +02:00
|
|
|
"../api:field_trials_view",
|
2019-03-20 08:40:23 +01:00
|
|
|
"../api:rtp_headers",
|
2019-08-26 10:45:28 +02:00
|
|
|
"../api:rtp_parameters",
|
2021-02-10 14:31:24 +01:00
|
|
|
"../api:sequence_checker",
|
2018-08-17 13:00:54 +02:00
|
|
|
"../api:simulated_network_api",
|
2016-11-28 07:02:13 -08:00
|
|
|
"../api:transport_api",
|
2019-08-07 12:24:53 +02:00
|
|
|
"../api/rtc_event_log",
|
2018-05-09 10:33:39 +02:00
|
|
|
"../api/transport:network_control",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../api/units:time_delta",
|
|
|
|
|
"../api/video_codecs:video_codecs_api",
|
2016-06-03 13:14:28 -07:00
|
|
|
"../audio",
|
2018-02-01 11:04:46 -08:00
|
|
|
"../logging:rtc_event_audio",
|
|
|
|
|
"../logging:rtc_event_rtp_rtcp",
|
|
|
|
|
"../logging:rtc_event_video",
|
|
|
|
|
"../logging:rtc_stream_config",
|
2016-02-23 13:30:42 +01:00
|
|
|
"../modules/congestion_controller",
|
2017-02-27 15:57:45 -08:00
|
|
|
"../modules/pacing",
|
2015-09-25 13:58:30 +02:00
|
|
|
"../modules/rtp_rtcp",
|
2017-12-06 07:51:33 +01:00
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
2017-02-27 15:57:45 -08:00
|
|
|
"../modules/utility",
|
2019-03-21 13:35:10 +01:00
|
|
|
"../modules/video_coding",
|
2017-12-13 16:05:42 +01:00
|
|
|
"../rtc_base:checks",
|
2022-04-19 17:40:46 +02:00
|
|
|
"../rtc_base:copy_on_write_buffer",
|
2022-04-19 17:47:13 +02:00
|
|
|
"../rtc_base:event_tracer",
|
2022-04-14 13:13:56 +02:00
|
|
|
"../rtc_base:location",
|
2022-04-04 15:06:30 +02:00
|
|
|
"../rtc_base:logging",
|
2022-04-04 15:18:46 +02:00
|
|
|
"../rtc_base:macromagic",
|
2018-03-01 15:56:57 +01:00
|
|
|
"../rtc_base:rate_limiter",
|
2017-07-19 10:40:47 -07:00
|
|
|
"../rtc_base:rtc_task_queue",
|
2018-03-12 15:59:12 +01:00
|
|
|
"../rtc_base:safe_minmax",
|
2022-04-04 17:14:02 +02:00
|
|
|
"../rtc_base:stringutils",
|
2022-04-04 17:16:15 +02:00
|
|
|
"../rtc_base:timeutils",
|
2018-10-12 11:15:09 +02:00
|
|
|
"../rtc_base/experiments:field_trial_parser",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../rtc_base/network:sent_packet",
|
2020-11-23 11:07:42 +01:00
|
|
|
"../rtc_base/system:no_unique_address",
|
2020-05-26 19:35:16 +02:00
|
|
|
"../rtc_base/task_utils:pending_task_safety_flag",
|
2015-09-25 13:58:30 +02:00
|
|
|
"../system_wrappers",
|
2018-09-28 08:51:10 +02:00
|
|
|
"../system_wrappers:field_trial",
|
|
|
|
|
"../system_wrappers:metrics",
|
2016-06-03 13:14:28 -07:00
|
|
|
"../video",
|
2022-02-14 14:09:57 +01:00
|
|
|
"../video:decode_synchronizer",
|
2020-07-01 15:48:46 +02:00
|
|
|
"adaptation:resource_adaptation",
|
2015-09-25 13:58:30 +02:00
|
|
|
]
|
2021-05-12 09:02:43 +02:00
|
|
|
absl_deps = [
|
|
|
|
|
"//third_party/abseil-cpp/absl/functional:bind_front",
|
|
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
|
]
|
2015-09-25 13:58:30 +02:00
|
|
|
}
|
2016-06-14 12:52:54 +02:00
|
|
|
|
2021-06-14 10:54:20 +02:00
|
|
|
rtc_source_set("receive_stream_interface") {
|
|
|
|
|
sources = [ "receive_stream.h" ]
|
|
|
|
|
deps = [
|
|
|
|
|
"../api:frame_transformer_interface",
|
|
|
|
|
"../api:rtp_parameters",
|
|
|
|
|
"../api:scoped_refptr",
|
|
|
|
|
"../api/crypto:frame_decryptor_interface",
|
|
|
|
|
"../api/transport/rtp:rtp_source",
|
2022-05-09 20:46:57 +00:00
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
2021-06-14 10:54:20 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("video_stream_api") {
|
2017-08-22 05:43:23 -07:00
|
|
|
sources = [
|
|
|
|
|
"video_receive_stream.cc",
|
|
|
|
|
"video_receive_stream.h",
|
|
|
|
|
"video_send_stream.cc",
|
|
|
|
|
"video_send_stream.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
2021-06-14 10:54:20 +02:00
|
|
|
":receive_stream_interface",
|
2017-09-01 15:29:28 +02:00
|
|
|
":rtp_interfaces",
|
2020-02-27 16:16:55 +01:00
|
|
|
"../api:frame_transformer_interface",
|
2019-03-20 08:40:23 +01:00
|
|
|
"../api:rtp_headers",
|
2019-08-26 10:45:28 +02:00
|
|
|
"../api:rtp_parameters",
|
2020-06-11 12:07:14 +02:00
|
|
|
"../api:scoped_refptr",
|
2017-08-22 05:43:23 -07:00
|
|
|
"../api:transport_api",
|
2020-06-11 12:07:14 +02:00
|
|
|
"../api/adaptation:resource_adaptation_api",
|
2019-09-13 14:42:15 +02:00
|
|
|
"../api/crypto:frame_encryptor_interface",
|
|
|
|
|
"../api/crypto:options",
|
2019-12-03 14:31:45 +01:00
|
|
|
"../api/video:recordable_encoded_frame",
|
2018-05-11 11:15:30 +02:00
|
|
|
"../api/video:video_frame",
|
2019-06-10 12:59:38 +02:00
|
|
|
"../api/video:video_rtp_headers",
|
2018-07-24 09:29:58 +02:00
|
|
|
"../api/video:video_stream_encoder",
|
2018-03-27 16:39:01 +02:00
|
|
|
"../api/video_codecs:video_codecs_api",
|
2019-03-21 13:35:10 +01:00
|
|
|
"../common_video",
|
2020-08-25 10:28:50 +02:00
|
|
|
"../common_video:frame_counts",
|
2017-12-15 14:40:10 +01:00
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
2018-01-04 15:58:20 +01:00
|
|
|
"../rtc_base:checks",
|
2021-11-10 11:23:56 +09:00
|
|
|
"../rtc_base:stringutils",
|
2017-08-22 05:43:23 -07:00
|
|
|
]
|
2020-06-05 14:30:41 +02:00
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
2017-08-22 05:43:23 -07:00
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("simulated_network") {
|
2018-08-07 18:58:05 +02:00
|
|
|
sources = [
|
|
|
|
|
"simulated_network.cc",
|
|
|
|
|
"simulated_network.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
2021-02-10 14:31:24 +01:00
|
|
|
"../api:sequence_checker",
|
2018-08-07 18:58:05 +02:00
|
|
|
"../api:simulated_network_api",
|
2018-11-06 19:18:28 +01:00
|
|
|
"../api/units:data_rate",
|
|
|
|
|
"../api/units:data_size",
|
|
|
|
|
"../api/units:time_delta",
|
2019-02-25 10:24:46 +01:00
|
|
|
"../api/units:timestamp",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../rtc_base:checks",
|
2022-04-04 15:18:46 +02:00
|
|
|
"../rtc_base:macromagic",
|
2022-04-14 13:38:05 +02:00
|
|
|
"../rtc_base:race_checker",
|
2022-04-14 12:41:26 +02:00
|
|
|
"../rtc_base:random",
|
2020-07-06 17:41:35 +02:00
|
|
|
"../rtc_base/synchronization:mutex",
|
2018-08-07 18:58:05 +02:00
|
|
|
]
|
2020-06-05 14:30:41 +02:00
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
2018-08-07 18:58:05 +02:00
|
|
|
}
|
|
|
|
|
|
2018-08-17 14:26:54 +02:00
|
|
|
rtc_source_set("simulated_packet_receiver") {
|
2020-01-21 12:10:10 +01:00
|
|
|
sources = [ "simulated_packet_receiver.h" ]
|
2018-08-17 14:26:54 +02:00
|
|
|
deps = [
|
|
|
|
|
":call_interfaces",
|
|
|
|
|
"../api:simulated_network_api",
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("fake_network") {
|
2018-03-14 15:16:50 +01:00
|
|
|
sources = [
|
|
|
|
|
"fake_network_pipe.cc",
|
|
|
|
|
"fake_network_pipe.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
|
|
|
|
":call_interfaces",
|
2018-08-07 18:58:05 +02:00
|
|
|
":simulated_network",
|
2018-08-17 14:26:54 +02:00
|
|
|
":simulated_packet_receiver",
|
2019-08-26 10:45:28 +02:00
|
|
|
"../api:rtp_parameters",
|
2021-02-10 14:31:24 +01:00
|
|
|
"../api:sequence_checker",
|
2018-06-21 16:58:01 +02:00
|
|
|
"../api:simulated_network_api",
|
2018-03-14 15:16:50 +01:00
|
|
|
"../api:transport_api",
|
2018-10-30 08:23:27 +01:00
|
|
|
"../modules/utility",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../rtc_base:checks",
|
2022-04-04 15:06:30 +02:00
|
|
|
"../rtc_base:logging",
|
2022-04-04 15:18:46 +02:00
|
|
|
"../rtc_base:macromagic",
|
2020-07-06 17:41:35 +02:00
|
|
|
"../rtc_base/synchronization:mutex",
|
2018-03-14 15:16:50 +01:00
|
|
|
"../system_wrappers",
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2016-06-14 12:52:54 +02:00
|
|
|
if (rtc_include_tests) {
|
2021-02-01 09:56:37 +00:00
|
|
|
if (!build_with_chromium) {
|
|
|
|
|
rtc_library("call_tests") {
|
|
|
|
|
testonly = true
|
2017-04-25 04:04:50 -07:00
|
|
|
|
2021-02-01 09:56:37 +00:00
|
|
|
sources = [
|
|
|
|
|
"bitrate_allocator_unittest.cc",
|
|
|
|
|
"bitrate_estimator_tests.cc",
|
|
|
|
|
"call_unittest.cc",
|
|
|
|
|
"flexfec_receive_stream_unittest.cc",
|
|
|
|
|
"receive_time_calculator_unittest.cc",
|
|
|
|
|
"rtp_bitrate_configurator_unittest.cc",
|
|
|
|
|
"rtp_demuxer_unittest.cc",
|
|
|
|
|
"rtp_payload_params_unittest.cc",
|
|
|
|
|
"rtp_video_sender_unittest.cc",
|
|
|
|
|
"rtx_receive_stream_unittest.cc",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
|
|
|
|
":bitrate_allocator",
|
|
|
|
|
":bitrate_configurator",
|
|
|
|
|
":call",
|
|
|
|
|
":call_interfaces",
|
|
|
|
|
":mock_rtp_interfaces",
|
|
|
|
|
":rtp_interfaces",
|
|
|
|
|
":rtp_receiver",
|
|
|
|
|
":rtp_sender",
|
|
|
|
|
":simulated_network",
|
|
|
|
|
"../api:array_view",
|
|
|
|
|
"../api:create_frame_generator",
|
|
|
|
|
"../api:mock_audio_mixer",
|
|
|
|
|
"../api:rtp_headers",
|
|
|
|
|
"../api:rtp_parameters",
|
|
|
|
|
"../api:transport_api",
|
|
|
|
|
"../api/audio_codecs:builtin_audio_decoder_factory",
|
|
|
|
|
"../api/rtc_event_log",
|
|
|
|
|
"../api/task_queue:default_task_queue_factory",
|
|
|
|
|
"../api/test/video:function_video_factory",
|
|
|
|
|
"../api/transport:field_trial_based_config",
|
|
|
|
|
"../api/video:builtin_video_bitrate_allocator_factory",
|
|
|
|
|
"../api/video:video_frame",
|
|
|
|
|
"../api/video:video_rtp_headers",
|
|
|
|
|
"../audio",
|
|
|
|
|
"../modules:module_api",
|
|
|
|
|
"../modules/audio_device:mock_audio_device",
|
|
|
|
|
"../modules/audio_mixer",
|
|
|
|
|
"../modules/audio_mixer:audio_mixer_impl",
|
|
|
|
|
"../modules/audio_processing:mocks",
|
|
|
|
|
"../modules/congestion_controller",
|
|
|
|
|
"../modules/pacing",
|
|
|
|
|
"../modules/rtp_rtcp",
|
|
|
|
|
"../modules/rtp_rtcp:mock_rtp_rtcp",
|
|
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
|
|
|
|
"../modules/utility:mock_process_thread",
|
|
|
|
|
"../modules/video_coding",
|
|
|
|
|
"../modules/video_coding:codec_globals_headers",
|
|
|
|
|
"../modules/video_coding:video_codec_interface",
|
|
|
|
|
"../rtc_base:checks",
|
|
|
|
|
"../rtc_base:logging",
|
2022-04-04 15:18:46 +02:00
|
|
|
"../rtc_base:macromagic",
|
2022-04-14 12:41:26 +02:00
|
|
|
"../rtc_base:random",
|
2021-02-01 09:56:37 +00:00
|
|
|
"../rtc_base:rate_limiter",
|
2022-04-04 16:57:52 +02:00
|
|
|
"../rtc_base:rtc_event",
|
2022-04-04 17:04:37 +02:00
|
|
|
"../rtc_base:safe_conversions",
|
2021-02-01 09:56:37 +00:00
|
|
|
"../rtc_base:task_queue_for_test",
|
2022-04-04 17:16:15 +02:00
|
|
|
"../rtc_base:timeutils",
|
2021-02-01 09:56:37 +00:00
|
|
|
"../rtc_base/synchronization:mutex",
|
|
|
|
|
"../system_wrappers",
|
|
|
|
|
"../test:audio_codec_mocks",
|
|
|
|
|
"../test:direct_transport",
|
|
|
|
|
"../test:encoder_settings",
|
2021-04-22 15:20:28 +02:00
|
|
|
"../test:explicit_key_value_config",
|
2021-02-01 09:56:37 +00:00
|
|
|
"../test:fake_video_codecs",
|
|
|
|
|
"../test:field_trial",
|
|
|
|
|
"../test:mock_frame_transformer",
|
|
|
|
|
"../test:mock_transport",
|
2022-03-09 15:12:07 +01:00
|
|
|
"../test:scoped_key_value_config",
|
2021-02-01 09:56:37 +00:00
|
|
|
"../test:test_common",
|
|
|
|
|
"../test:test_support",
|
|
|
|
|
"../test:video_test_common",
|
|
|
|
|
"../test/scenario",
|
|
|
|
|
"../test/time_controller:time_controller",
|
|
|
|
|
"../video",
|
|
|
|
|
"adaptation:resource_adaptation_test_utilities",
|
|
|
|
|
"//testing/gmock",
|
|
|
|
|
"//testing/gtest",
|
|
|
|
|
]
|
|
|
|
|
absl_deps = [
|
|
|
|
|
"//third_party/abseil-cpp/absl/container:inlined_vector",
|
|
|
|
|
"//third_party/abseil-cpp/absl/memory",
|
2022-03-14 13:32:04 +01:00
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
2021-02-01 09:56:37 +00:00
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
|
"//third_party/abseil-cpp/absl/types:variant",
|
|
|
|
|
]
|
|
|
|
|
}
|
2017-01-05 07:09:50 -08:00
|
|
|
|
2021-02-01 09:56:37 +00:00
|
|
|
rtc_library("call_perf_tests") {
|
|
|
|
|
testonly = true
|
2017-04-25 04:04:50 -07:00
|
|
|
|
2021-02-01 09:56:37 +00:00
|
|
|
sources = [
|
|
|
|
|
"call_perf_tests.cc",
|
|
|
|
|
"rampup_tests.cc",
|
|
|
|
|
"rampup_tests.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
|
|
|
|
":call_interfaces",
|
|
|
|
|
":simulated_network",
|
|
|
|
|
":video_stream_api",
|
|
|
|
|
"../api:rtc_event_log_output_file",
|
|
|
|
|
"../api:simulated_network_api",
|
|
|
|
|
"../api/audio_codecs:builtin_audio_encoder_factory",
|
|
|
|
|
"../api/rtc_event_log",
|
|
|
|
|
"../api/rtc_event_log:rtc_event_log_factory",
|
|
|
|
|
"../api/task_queue",
|
|
|
|
|
"../api/task_queue:default_task_queue_factory",
|
|
|
|
|
"../api/video:builtin_video_bitrate_allocator_factory",
|
|
|
|
|
"../api/video:video_bitrate_allocation",
|
|
|
|
|
"../api/video_codecs:video_codecs_api",
|
2021-08-26 12:04:27 +02:00
|
|
|
"../media:rtc_internal_video_codecs",
|
|
|
|
|
"../media:rtc_simulcast_encoder_adapter",
|
2021-02-01 09:56:37 +00:00
|
|
|
"../modules/audio_coding",
|
|
|
|
|
"../modules/audio_device",
|
|
|
|
|
"../modules/audio_device:audio_device_impl",
|
|
|
|
|
"../modules/audio_mixer:audio_mixer_impl",
|
|
|
|
|
"../modules/rtp_rtcp",
|
|
|
|
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
|
|
|
|
"../rtc_base",
|
|
|
|
|
"../rtc_base:checks",
|
2022-04-04 15:06:30 +02:00
|
|
|
"../rtc_base:logging",
|
2022-04-04 15:18:46 +02:00
|
|
|
"../rtc_base:macromagic",
|
2022-04-14 12:18:28 +02:00
|
|
|
"../rtc_base:platform_thread",
|
2022-04-04 16:57:52 +02:00
|
|
|
"../rtc_base:rtc_event",
|
2022-04-04 17:14:02 +02:00
|
|
|
"../rtc_base:stringutils",
|
2021-02-01 09:56:37 +00:00
|
|
|
"../rtc_base:task_queue_for_test",
|
|
|
|
|
"../rtc_base:threading",
|
2022-04-04 17:16:15 +02:00
|
|
|
"../rtc_base:timeutils",
|
2021-02-01 09:56:37 +00:00
|
|
|
"../rtc_base/synchronization:mutex",
|
2021-08-13 14:00:44 +02:00
|
|
|
"../rtc_base/task_utils:pending_task_safety_flag",
|
2021-02-01 09:56:37 +00:00
|
|
|
"../rtc_base/task_utils:repeating_task",
|
|
|
|
|
"../system_wrappers",
|
|
|
|
|
"../system_wrappers:metrics",
|
|
|
|
|
"../test:direct_transport",
|
|
|
|
|
"../test:encoder_settings",
|
|
|
|
|
"../test:fake_video_codecs",
|
|
|
|
|
"../test:field_trial",
|
|
|
|
|
"../test:fileutils",
|
|
|
|
|
"../test:null_transport",
|
|
|
|
|
"../test:perf_test",
|
|
|
|
|
"../test:test_common",
|
|
|
|
|
"../test:test_support",
|
|
|
|
|
"../test:video_test_common",
|
|
|
|
|
"../video",
|
|
|
|
|
"//testing/gtest",
|
|
|
|
|
]
|
|
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/flags:flag" ]
|
|
|
|
|
}
|
2017-01-05 07:09:50 -08:00
|
|
|
}
|
2017-07-28 10:05:45 -07:00
|
|
|
|
2021-07-26 12:40:21 +02:00
|
|
|
# TODO(eladalon): This should be moved, as with the TODO for `rtp_interfaces`.
|
2017-07-28 10:05:45 -07:00
|
|
|
rtc_source_set("mock_rtp_interfaces") {
|
|
|
|
|
testonly = true
|
|
|
|
|
|
|
|
|
|
sources = [
|
|
|
|
|
"test/mock_rtp_packet_sink_interface.h",
|
2018-02-21 13:07:13 +01:00
|
|
|
"test/mock_rtp_transport_controller_send.h",
|
2017-07-28 10:05:45 -07:00
|
|
|
]
|
|
|
|
|
deps = [
|
|
|
|
|
":rtp_interfaces",
|
2020-02-27 16:16:55 +01:00
|
|
|
"../api:frame_transformer_interface",
|
2018-06-21 16:58:01 +02:00
|
|
|
"../api:libjingle_peerconnection_api",
|
2019-09-13 14:42:15 +02:00
|
|
|
"../api/crypto:frame_encryptor_interface",
|
|
|
|
|
"../api/crypto:options",
|
2019-09-17 14:47:38 +02:00
|
|
|
"../api/transport:bitrate_settings",
|
2018-02-21 17:30:36 +01:00
|
|
|
"../modules/pacing",
|
2019-03-21 13:35:10 +01:00
|
|
|
"../rtc_base",
|
2018-02-21 17:30:36 +01:00
|
|
|
"../rtc_base:rate_limiter",
|
2018-10-15 21:06:26 +02:00
|
|
|
"../rtc_base/network:sent_packet",
|
2017-07-28 10:05:45 -07:00
|
|
|
"../test:test_support",
|
|
|
|
|
]
|
|
|
|
|
}
|
2018-04-19 08:27:19 +02:00
|
|
|
rtc_source_set("mock_bitrate_allocator") {
|
|
|
|
|
testonly = true
|
Remove voe::TransmitMixer
TransmitMixer's functionality is moved into the AudioTransportProxy
owned by AudioState. This removes the need for an AudioTransport
implementation in VoEBaseImpl, which means that the proxy is no longer
a proxy, hence AudioTransportProxy is renamed to AudioTransportImpl.
In the short term, AudioState needs to know which AudioDeviceModule is
used, so it is added in AudioState::Config. AudioTransportImpl needs
to know which AudioSendStream:s are currently enabled to send, so
AudioState maintains a map of them, which is reduced into a simple
vector for AudioTransportImpl.
To encode and transmit audio,
AudioSendStream::OnAudioData(std::unique_ptr<AudioFrame> audio_frame)
is introduced, which is used in both the Chromium and standalone use
cases. This removes the need for two different instances of
voe::Channel::ProcessAndEncodeAudio(), so there is now only one,
taking an AudioFrame as argument. Callers need to allocate their own
AudioFrame:s, which is wasteful but not a regression since this was
already happening in the voe::Channel functions.
Most of the logic changed resides in
AudioTransportImpl::RecordedDataIsAvailable(), where two strange
things were found:
1. The clock drift parameter was ineffective since
apm->echo_cancellation()->enable_drift_compensation(false) is
called during initialization.
2. The output parameter 'new_mic_volume' was never set - instead it
was returned as a result, causing the ADM to never update the
analog mic gain
(https://cs.chromium.org/chromium/src/third_party/webrtc/voice_engine/voe_base_impl.cc?q=voe_base_impl.cc&dr&l=100).
Besides this, tests are updated, and some dead code is removed which
was found in the process.
Bug: webrtc:4690, webrtc:8591
Change-Id: I789d5296bf5efb7299a5ee05a4f3ce6abf9124b2
Reviewed-on: https://webrtc-review.googlesource.com/26681
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21301}
2017-12-15 16:42:15 +01:00
|
|
|
|
2020-01-21 12:10:10 +01:00
|
|
|
sources = [ "test/mock_bitrate_allocator.h" ]
|
2018-04-19 08:27:19 +02:00
|
|
|
deps = [
|
|
|
|
|
":bitrate_allocator",
|
2018-10-30 21:12:42 +01:00
|
|
|
"../test:test_support",
|
2018-04-19 08:27:19 +02:00
|
|
|
]
|
|
|
|
|
}
|
Remove voe::TransmitMixer
TransmitMixer's functionality is moved into the AudioTransportProxy
owned by AudioState. This removes the need for an AudioTransport
implementation in VoEBaseImpl, which means that the proxy is no longer
a proxy, hence AudioTransportProxy is renamed to AudioTransportImpl.
In the short term, AudioState needs to know which AudioDeviceModule is
used, so it is added in AudioState::Config. AudioTransportImpl needs
to know which AudioSendStream:s are currently enabled to send, so
AudioState maintains a map of them, which is reduced into a simple
vector for AudioTransportImpl.
To encode and transmit audio,
AudioSendStream::OnAudioData(std::unique_ptr<AudioFrame> audio_frame)
is introduced, which is used in both the Chromium and standalone use
cases. This removes the need for two different instances of
voe::Channel::ProcessAndEncodeAudio(), so there is now only one,
taking an AudioFrame as argument. Callers need to allocate their own
AudioFrame:s, which is wasteful but not a regression since this was
already happening in the voe::Channel functions.
Most of the logic changed resides in
AudioTransportImpl::RecordedDataIsAvailable(), where two strange
things were found:
1. The clock drift parameter was ineffective since
apm->echo_cancellation()->enable_drift_compensation(false) is
called during initialization.
2. The output parameter 'new_mic_volume' was never set - instead it
was returned as a result, causing the ADM to never update the
analog mic gain
(https://cs.chromium.org/chromium/src/third_party/webrtc/voice_engine/voe_base_impl.cc?q=voe_base_impl.cc&dr&l=100).
Besides this, tests are updated, and some dead code is removed which
was found in the process.
Bug: webrtc:4690, webrtc:8591
Change-Id: I789d5296bf5efb7299a5ee05a4f3ce6abf9124b2
Reviewed-on: https://webrtc-review.googlesource.com/26681
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21301}
2017-12-15 16:42:15 +01:00
|
|
|
rtc_source_set("mock_call_interfaces") {
|
|
|
|
|
testonly = true
|
|
|
|
|
|
2020-01-21 12:10:10 +01:00
|
|
|
sources = [ "test/mock_audio_send_stream.h" ]
|
Remove voe::TransmitMixer
TransmitMixer's functionality is moved into the AudioTransportProxy
owned by AudioState. This removes the need for an AudioTransport
implementation in VoEBaseImpl, which means that the proxy is no longer
a proxy, hence AudioTransportProxy is renamed to AudioTransportImpl.
In the short term, AudioState needs to know which AudioDeviceModule is
used, so it is added in AudioState::Config. AudioTransportImpl needs
to know which AudioSendStream:s are currently enabled to send, so
AudioState maintains a map of them, which is reduced into a simple
vector for AudioTransportImpl.
To encode and transmit audio,
AudioSendStream::OnAudioData(std::unique_ptr<AudioFrame> audio_frame)
is introduced, which is used in both the Chromium and standalone use
cases. This removes the need for two different instances of
voe::Channel::ProcessAndEncodeAudio(), so there is now only one,
taking an AudioFrame as argument. Callers need to allocate their own
AudioFrame:s, which is wasteful but not a regression since this was
already happening in the voe::Channel functions.
Most of the logic changed resides in
AudioTransportImpl::RecordedDataIsAvailable(), where two strange
things were found:
1. The clock drift parameter was ineffective since
apm->echo_cancellation()->enable_drift_compensation(false) is
called during initialization.
2. The output parameter 'new_mic_volume' was never set - instead it
was returned as a result, causing the ADM to never update the
analog mic gain
(https://cs.chromium.org/chromium/src/third_party/webrtc/voice_engine/voe_base_impl.cc?q=voe_base_impl.cc&dr&l=100).
Besides this, tests are updated, and some dead code is removed which
was found in the process.
Bug: webrtc:4690, webrtc:8591
Change-Id: I789d5296bf5efb7299a5ee05a4f3ce6abf9124b2
Reviewed-on: https://webrtc-review.googlesource.com/26681
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21301}
2017-12-15 16:42:15 +01:00
|
|
|
deps = [
|
|
|
|
|
":call_interfaces",
|
2018-10-30 21:12:42 +01:00
|
|
|
"../test:test_support",
|
Remove voe::TransmitMixer
TransmitMixer's functionality is moved into the AudioTransportProxy
owned by AudioState. This removes the need for an AudioTransport
implementation in VoEBaseImpl, which means that the proxy is no longer
a proxy, hence AudioTransportProxy is renamed to AudioTransportImpl.
In the short term, AudioState needs to know which AudioDeviceModule is
used, so it is added in AudioState::Config. AudioTransportImpl needs
to know which AudioSendStream:s are currently enabled to send, so
AudioState maintains a map of them, which is reduced into a simple
vector for AudioTransportImpl.
To encode and transmit audio,
AudioSendStream::OnAudioData(std::unique_ptr<AudioFrame> audio_frame)
is introduced, which is used in both the Chromium and standalone use
cases. This removes the need for two different instances of
voe::Channel::ProcessAndEncodeAudio(), so there is now only one,
taking an AudioFrame as argument. Callers need to allocate their own
AudioFrame:s, which is wasteful but not a regression since this was
already happening in the voe::Channel functions.
Most of the logic changed resides in
AudioTransportImpl::RecordedDataIsAvailable(), where two strange
things were found:
1. The clock drift parameter was ineffective since
apm->echo_cancellation()->enable_drift_compensation(false) is
called during initialization.
2. The output parameter 'new_mic_volume' was never set - instead it
was returned as a result, causing the ADM to never update the
analog mic gain
(https://cs.chromium.org/chromium/src/third_party/webrtc/voice_engine/voe_base_impl.cc?q=voe_base_impl.cc&dr&l=100).
Besides this, tests are updated, and some dead code is removed which
was found in the process.
Bug: webrtc:4690, webrtc:8591
Change-Id: I789d5296bf5efb7299a5ee05a4f3ce6abf9124b2
Reviewed-on: https://webrtc-review.googlesource.com/26681
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21301}
2017-12-15 16:42:15 +01:00
|
|
|
]
|
|
|
|
|
}
|
2018-03-14 15:16:50 +01:00
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("fake_network_pipe_unittests") {
|
2019-02-21 16:21:51 +01:00
|
|
|
testonly = true
|
|
|
|
|
|
2018-10-15 15:25:34 +02:00
|
|
|
sources = [
|
2019-02-21 16:21:51 +01:00
|
|
|
"fake_network_pipe_unittest.cc",
|
2019-02-25 10:24:46 +01:00
|
|
|
"simulated_network_unittest.cc",
|
2018-10-15 15:25:34 +02:00
|
|
|
]
|
2018-03-14 15:16:50 +01:00
|
|
|
deps = [
|
|
|
|
|
":fake_network",
|
2018-08-16 15:51:07 +02:00
|
|
|
":simulated_network",
|
2019-02-25 10:24:46 +01:00
|
|
|
"../api/units:data_rate",
|
2018-03-14 15:16:50 +01:00
|
|
|
"../system_wrappers",
|
2018-10-30 21:12:42 +01:00
|
|
|
"../test:test_support",
|
2018-03-14 15:16:50 +01:00
|
|
|
"//testing/gtest",
|
|
|
|
|
]
|
2020-06-05 14:30:41 +02:00
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
|
2018-03-14 15:16:50 +01:00
|
|
|
}
|
2016-06-14 12:52:54 +02:00
|
|
|
}
|