LeviLamina
Loading...
Searching...
No Matches
Call.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/AudioReceiveStreamInterface.h"
7#include "mc/external/webrtc/AudioSendStream.h"
8#include "mc/external/webrtc/FlexfecReceiveStream.h"
9#include "mc/external/webrtc/MediaType.h"
10#include "mc/external/webrtc/NetworkState.h"
11#include "mc/external/webrtc/RtcpFeedbackType.h"
12#include "mc/external/webrtc/VideoReceiveStreamInterface.h"
13#include "mc/external/webrtc/VideoSendStream.h"
14#include "mc/external/webrtc/scoped_refptr.h"
15
16// auto generated forward declare list
17// clang-format off
18namespace webrtc { class AudioReceiveStreamInterface; }
19namespace webrtc { class AudioSendStream; }
20namespace webrtc { class FecController; }
21namespace webrtc { class FlexfecReceiveStream; }
22namespace webrtc { class PacketReceiver; }
23namespace webrtc { class PayloadTypeSuggester; }
24namespace webrtc { class Resource; }
25namespace webrtc { class RtpTransportControllerSendInterface; }
26namespace webrtc { class TaskQueueBase; }
27namespace webrtc { class VideoEncoderConfig; }
28namespace webrtc { class VideoReceiveStreamInterface; }
29namespace webrtc { class VideoSendStream; }
30namespace webrtc { struct BitrateSettings; }
31namespace webrtc { struct SentPacketInfo; }
32// clang-format on
33
34namespace webrtc {
35
36class Call {
37public:
38 // Call inner types declare
39 // clang-format off
40 struct Stats;
41 // clang-format on
42
43 // Call inner types define
44 struct Stats {
45 public:
46 // member variables
47 // NOLINTBEGIN
54 // NOLINTEND
55
56 public:
57 // prevent constructor by default
58 Stats& operator=(Stats const&);
59 Stats(Stats const&);
60 Stats();
61 };
62
63public:
64 // virtual functions
65 // NOLINTBEGIN
66 virtual ::webrtc::AudioSendStream* CreateAudioSendStream(::webrtc::AudioSendStream::Config const&) = 0;
67
68 virtual void DestroyAudioSendStream(::webrtc::AudioSendStream*) = 0;
69
70 virtual ::webrtc::AudioReceiveStreamInterface*
71 CreateAudioReceiveStream(::webrtc::AudioReceiveStreamInterface::Config const&) = 0;
72
73 virtual void DestroyAudioReceiveStream(::webrtc::AudioReceiveStreamInterface*) = 0;
74
75 virtual ::webrtc::VideoSendStream*
77
78 virtual ::webrtc::VideoSendStream* CreateVideoSendStream(
81 ::std::unique_ptr<::webrtc::FecController>
82 );
83
84 virtual void DestroyVideoSendStream(::webrtc::VideoSendStream*) = 0;
85
86 virtual ::webrtc::VideoReceiveStreamInterface*
87 CreateVideoReceiveStream(::webrtc::VideoReceiveStreamInterface::Config) = 0;
88
89 virtual void DestroyVideoReceiveStream(::webrtc::VideoReceiveStreamInterface*) = 0;
90
91 virtual ::webrtc::FlexfecReceiveStream*
92 CreateFlexfecReceiveStream(::webrtc::FlexfecReceiveStream::Config const) = 0;
93
94 virtual void DestroyFlexfecReceiveStream(::webrtc::FlexfecReceiveStream*) = 0;
95
96 virtual void AddAdaptationResource(::webrtc::scoped_refptr<::webrtc::Resource>) = 0;
97
98 virtual ::webrtc::PacketReceiver* Receiver() = 0;
99
100 virtual ::webrtc::RtpTransportControllerSendInterface* GetTransportControllerSend() = 0;
101
102 virtual ::webrtc::PayloadTypeSuggester* GetPayloadTypeSuggester();
103
104 virtual void SetPayloadTypeSuggester(::webrtc::PayloadTypeSuggester*);
105
106 virtual ::webrtc::Call::Stats GetStats() const = 0;
107
108 virtual void SignalChannelNetworkState(::webrtc::MediaType, ::webrtc::NetworkState) = 0;
109
110 virtual void OnAudioTransportOverheadChanged(int) = 0;
111
112 virtual void OnLocalSsrcUpdated(::webrtc::AudioReceiveStreamInterface&, uint) = 0;
113
114 virtual void OnLocalSsrcUpdated(::webrtc::VideoReceiveStreamInterface&, uint) = 0;
115
116 virtual void OnLocalSsrcUpdated(::webrtc::FlexfecReceiveStream&, uint) = 0;
117
118 virtual void OnUpdateSyncGroup(::webrtc::AudioReceiveStreamInterface&, ::std::string_view) = 0;
119
120 virtual void OnSentPacket(::webrtc::SentPacketInfo const&) = 0;
121
122 virtual void SetClientBitratePreferences(::webrtc::BitrateSettings const&) = 0;
123
124 virtual void SetPreferredRtcpCcAckType(::webrtc::RtcpFeedbackType) = 0;
125
126 virtual ::std::optional<int> FeedbackAccordingToRfc8888Count() = 0;
127
128 virtual ::std::optional<int> FeedbackAccordingToTransportCcCount() = 0;
129
130 virtual ::webrtc::TaskQueueBase* network_thread() const = 0;
131
132 virtual ::webrtc::TaskQueueBase* worker_thread() const = 0;
133
134 virtual ~Call() = default;
135 // NOLINTEND
136};
137
138} // namespace webrtc
Definition AudioReceiveStreamInterface.h:18
Definition AudioSendStream.h:16
Definition Call.h:36
Definition FecController.h:15
Definition FlexfecReceiveStream.h:17
Definition PacketReceiver.h:17
Definition PayloadTypeSuggester.h:17
Definition Resource.h:15
Definition RtpTransportControllerSendInterface.h:39
Definition TaskQueueBase.h:16
Definition VideoEncoderConfig.h:19
Definition VideoReceiveStreamInterface.h:17
Definition VideoSendStream.h:22
Definition scoped_refptr.h:8
Definition Alias.h:14
Definition AudioReceiveStreamInterface.h:27
Definition AudioSendStream.h:25
Definition BitrateSettings.h:7
Definition Call.h:44
Definition FlexfecReceiveStream.h:25
Definition SentPacketInfo.h:12
Definition VideoReceiveStreamInterface.h:43
Definition VideoSendStream.h:32