blob: 20bbe26cdbfd8a56821072f9a8e21a0fd95d76ba [file] [log] [blame]
Niels Möller3a742392018-10-08 11:13:58 +02001/*
2 * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11// This is EXPERIMENTAL interface for media transport.
12//
13// The goal is to refactor WebRTC code so that audio and video frames
14// are sent / received through the media transport interface. This will
15// enable different media transport implementations, including QUIC-based
16// media transport.
17
18#include "api/media_transport_interface.h"
19
Yves Gerey988cc082018-10-23 12:03:01 +020020#include <cstdint>
21#include <utility>
22
Niels Möller3a742392018-10-08 11:13:58 +020023namespace webrtc {
24
Piotr (Peter) Slatalaa0677d12018-10-29 07:31:42 -070025MediaTransportSettings::MediaTransportSettings() = default;
Piotr (Peter) Slatalaed7b8b12018-10-29 10:43:16 -070026MediaTransportSettings::MediaTransportSettings(const MediaTransportSettings&) =
27 default;
28MediaTransportSettings& MediaTransportSettings::operator=(
29 const MediaTransportSettings&) = default;
Piotr (Peter) Slatalaa0677d12018-10-29 07:31:42 -070030MediaTransportSettings::~MediaTransportSettings() = default;
31
Piotr (Peter) Slatalae0c2e972018-10-08 09:43:21 -070032
Bjorn Mellem1f6aa9f2018-10-30 15:15:00 -070033SendDataParams::SendDataParams() = default;
Niels Möllere0446cb2018-11-30 09:35:52 +010034SendDataParams::SendDataParams(const SendDataParams&) = default;
Bjorn Mellem1f6aa9f2018-10-30 15:15:00 -070035
Piotr (Peter) Slatalaa0677d12018-10-29 07:31:42 -070036RTCErrorOr<std::unique_ptr<MediaTransportInterface>>
37MediaTransportFactory::CreateMediaTransport(
38 rtc::PacketTransportInternal* packet_transport,
39 rtc::Thread* network_thread,
Piotr (Peter) Slatalaed7b8b12018-10-29 10:43:16 -070040 const MediaTransportSettings& settings) {
Piotr (Peter) Slatalaa0677d12018-10-29 07:31:42 -070041 return std::unique_ptr<MediaTransportInterface>(nullptr);
42}
43
Piotr (Peter) Slatalad6f61dd2019-02-26 12:08:27 -080044RTCErrorOr<std::unique_ptr<MediaTransportInterface>>
45MediaTransportFactory::CreateMediaTransport(
46 rtc::Thread* network_thread,
47 const MediaTransportSettings& settings) {
48 return std::unique_ptr<MediaTransportInterface>(nullptr);
49}
50
51std::string MediaTransportFactory::GetTransportName() const {
52 return "";
53}
54
Piotr (Peter) Slatala309aafe2019-01-15 14:24:34 -080055MediaTransportInterface::MediaTransportInterface() = default;
56MediaTransportInterface::~MediaTransportInterface() = default;
57
Piotr (Peter) Slatalad6f61dd2019-02-26 12:08:27 -080058absl::optional<std::string>
59MediaTransportInterface::GetTransportParametersOffer() const {
60 return absl::nullopt;
61}
62
63void MediaTransportInterface::Connect(
64 rtc::PacketTransportInternal* packet_transport) {}
65
Niels Möller1c7f5f62018-12-10 11:06:02 +010066void MediaTransportInterface::SetKeyFrameRequestCallback(
67 MediaTransportKeyFrameRequestCallback* callback) {}
68
Piotr (Peter) Slatalaada077f2018-11-08 07:43:31 -080069absl::optional<TargetTransferRate>
70MediaTransportInterface::GetLatestTargetTransferRate() {
71 return absl::nullopt;
72}
73
Niels Möller30b182a2019-02-05 00:59:35 +010074void MediaTransportInterface::AddNetworkChangeCallback(
75 MediaTransportNetworkChangeCallback* callback) {}
76
77void MediaTransportInterface::RemoveNetworkChangeCallback(
78 MediaTransportNetworkChangeCallback* callback) {}
79
Piotr (Peter) Slatala309aafe2019-01-15 14:24:34 -080080void MediaTransportInterface::SetFirstAudioPacketReceivedObserver(
81 AudioPacketReceivedObserver* observer) {}
82
Piotr (Peter) Slatalaada077f2018-11-08 07:43:31 -080083void MediaTransportInterface::AddTargetTransferRateObserver(
Niels Möller46879152019-01-07 15:54:47 +010084 TargetTransferRateObserver* observer) {}
85void MediaTransportInterface::RemoveTargetTransferRateObserver(
86 TargetTransferRateObserver* observer) {}
87
88void MediaTransportInterface::AddRttObserver(
89 MediaTransportRttObserver* observer) {}
90void MediaTransportInterface::RemoveRttObserver(
91 MediaTransportRttObserver* observer) {}
Piotr (Peter) Slatalaada077f2018-11-08 07:43:31 -080092
93size_t MediaTransportInterface::GetAudioPacketOverhead() const {
94 return 0;
95}
96
Piotr (Peter) Slatala48c54932019-01-28 06:50:38 -080097void MediaTransportInterface::SetAllocatedBitrateLimits(
98 const MediaTransportAllocatedBitrateLimits& limits) {}
99
Niels Möller3a742392018-10-08 11:13:58 +0200100} // namespace webrtc