blob: 0634b2e575f8b2ebaffc2299e12b7e7d0944fb74 [file] [log] [blame]
Paulina Hensman11b34f42018-04-09 14:24:52 +02001/*
2 * Copyright (c) 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#include "media/base/mediachannel.h"
12
13namespace cricket {
14
15VideoOptions::VideoOptions() = default;
16VideoOptions::~VideoOptions() = default;
17
Benjamin Wright84583f62018-10-04 14:22:34 -070018MediaChannel::MediaChannel(const MediaConfig& config)
Anton Sukhanov98a462c2018-10-17 13:15:42 -070019 : enable_dscp_(config.enable_dscp) {}
Benjamin Wright84583f62018-10-04 14:22:34 -070020
Anton Sukhanov98a462c2018-10-17 13:15:42 -070021MediaChannel::MediaChannel() : enable_dscp_(false) {}
Benjamin Wright84583f62018-10-04 14:22:34 -070022
23MediaChannel::~MediaChannel() {}
24
Anton Sukhanov98a462c2018-10-17 13:15:42 -070025void MediaChannel::SetInterface(
26 NetworkInterface* iface,
27 webrtc::MediaTransportInterface* media_transport) {
Paulina Hensman11b34f42018-04-09 14:24:52 +020028 rtc::CritScope cs(&network_interface_crit_);
29 network_interface_ = iface;
Anton Sukhanov98a462c2018-10-17 13:15:42 -070030 media_transport_ = media_transport;
Tim Haloun648d28a2018-10-18 16:52:22 -070031 UpdateDscp();
Paulina Hensman11b34f42018-04-09 14:24:52 +020032}
33
Paulina Hensman11b34f42018-04-09 14:24:52 +020034int MediaChannel::GetRtpSendTimeExtnId() const {
35 return -1;
36}
37
Tim Haloun6ca98362018-09-17 17:06:08 -070038rtc::DiffServCodePoint MediaChannel::PreferredDscp() const {
39 return rtc::DSCP_DEFAULT;
40}
41
Benjamin Wrightbfd412e2018-09-10 14:06:02 -070042void MediaChannel::SetFrameEncryptor(
Benjamin Wright84583f62018-10-04 14:22:34 -070043 uint32_t ssrc,
44 rtc::scoped_refptr<webrtc::FrameEncryptorInterface> frame_encryptor) {
45 // Placeholder should be pure virtual once internal supports it.
Benjamin Wrightbfd412e2018-09-10 14:06:02 -070046}
47
48void MediaChannel::SetFrameDecryptor(
Benjamin Wright84583f62018-10-04 14:22:34 -070049 uint32_t ssrc,
50 rtc::scoped_refptr<webrtc::FrameDecryptorInterface> frame_decryptor) {
51 // Placeholder should be pure virtual once internal supports it.
Benjamin Wrightbfd412e2018-09-10 14:06:02 -070052}
53
Paulina Hensman11b34f42018-04-09 14:24:52 +020054MediaSenderInfo::MediaSenderInfo() = default;
55MediaSenderInfo::~MediaSenderInfo() = default;
56
57MediaReceiverInfo::MediaReceiverInfo() = default;
58MediaReceiverInfo::~MediaReceiverInfo() = default;
59
60VoiceSenderInfo::VoiceSenderInfo() = default;
61VoiceSenderInfo::~VoiceSenderInfo() = default;
62
63VoiceReceiverInfo::VoiceReceiverInfo() = default;
64VoiceReceiverInfo::~VoiceReceiverInfo() = default;
65
66VideoSenderInfo::VideoSenderInfo() = default;
67VideoSenderInfo::~VideoSenderInfo() = default;
68
69VideoReceiverInfo::VideoReceiverInfo() = default;
70VideoReceiverInfo::~VideoReceiverInfo() = default;
71
72VoiceMediaInfo::VoiceMediaInfo() = default;
73VoiceMediaInfo::~VoiceMediaInfo() = default;
74
75VideoMediaInfo::VideoMediaInfo() = default;
76VideoMediaInfo::~VideoMediaInfo() = default;
77
78DataMediaInfo::DataMediaInfo() = default;
79DataMediaInfo::~DataMediaInfo() = default;
80
81AudioSendParameters::AudioSendParameters() = default;
82AudioSendParameters::~AudioSendParameters() = default;
83
84std::map<std::string, std::string> AudioSendParameters::ToStringMap() const {
85 auto params = RtpSendParameters<AudioCodec>::ToStringMap();
86 params["options"] = options.ToString();
87 return params;
88}
89
Amit Hilbuchdd9390c2018-11-13 16:26:05 -080090cricket::MediaType VoiceMediaChannel::media_type() const {
91 return cricket::MediaType::MEDIA_TYPE_AUDIO;
92}
93
Paulina Hensman11b34f42018-04-09 14:24:52 +020094VideoSendParameters::VideoSendParameters() = default;
95VideoSendParameters::~VideoSendParameters() = default;
96
97std::map<std::string, std::string> VideoSendParameters::ToStringMap() const {
98 auto params = RtpSendParameters<VideoCodec>::ToStringMap();
99 params["conference_mode"] = (conference_mode ? "yes" : "no");
100 return params;
101}
102
Amit Hilbuchdd9390c2018-11-13 16:26:05 -0800103cricket::MediaType VideoMediaChannel::media_type() const {
104 return cricket::MediaType::MEDIA_TYPE_VIDEO;
105}
106
Paulina Hensman11b34f42018-04-09 14:24:52 +0200107DataMediaChannel::DataMediaChannel() = default;
108DataMediaChannel::DataMediaChannel(const MediaConfig& config)
109 : MediaChannel(config) {}
110DataMediaChannel::~DataMediaChannel() = default;
111
Amit Hilbuchdd9390c2018-11-13 16:26:05 -0800112cricket::MediaType DataMediaChannel::media_type() const {
113 return cricket::MediaType::MEDIA_TYPE_DATA;
114}
115
Paulina Hensman11b34f42018-04-09 14:24:52 +0200116bool DataMediaChannel::GetStats(DataMediaInfo* info) {
117 return true;
118}
119
120} // namespace cricket