LeviLamina
Loading...
Searching...
No Matches
VideoSendStream.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/absl/AnyInvocable.h"
7#include "mc/external/webrtc/ArrayView.h"
8#include "mc/external/webrtc/DegradationPreference.h"
9#include "mc/external/webrtc/VideoSourceInterface.h"
10#include "mc/external/webrtc/scoped_refptr.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace webrtc { class RTCError; }
15namespace webrtc { class Resource; }
16namespace webrtc { class VideoEncoderConfig; }
17namespace webrtc { class VideoFrame; }
18// clang-format on
19
20namespace webrtc {
21
23public:
24 // VideoSendStream inner types declare
25 // clang-format off
26 struct Config;
27 struct StreamStats;
28 struct Stats;
29 // clang-format on
30
31 // VideoSendStream inner types define
32 struct Config {
33 public:
34 // member variables
35 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
52 Config& operator=(Config const&);
53 Config(Config const&);
54 Config();
55 };
56
57 struct StreamStats {
58 public:
59 // StreamStats inner types define
60 enum class StreamType : int {
61 KMedia = 0,
62 KRtx = 1,
63 KFlexfec = 2,
64 };
65
66 public:
67 // member variables
68 // NOLINTBEGIN
91 // NOLINTEND
92
93 public:
94 // prevent constructor by default
95 StreamStats& operator=(StreamStats const&);
96 StreamStats(StreamStats const&);
97 StreamStats();
98 };
99
100 struct Stats {
101 public:
102 // member variables
103 // NOLINTBEGIN
137 // NOLINTEND
138
139 public:
140 // prevent constructor by default
141 Stats& operator=(Stats const&);
142 Stats(Stats const&);
143 Stats();
144 };
145
146public:
147 // virtual functions
148 // NOLINTBEGIN
149 virtual void Start() = 0;
150
151 virtual void Stop() = 0;
152
153 virtual bool started() = 0;
154
155 virtual void AddAdaptationResource(::webrtc::scoped_refptr<::webrtc::Resource>) = 0;
156
157 virtual ::std::vector<::webrtc::scoped_refptr<::webrtc::Resource>> GetAdaptationResources() = 0;
158
159 virtual void
160 SetSource(::webrtc::VideoSourceInterface<::webrtc::VideoFrame>*, ::webrtc::DegradationPreference const&) = 0;
161
162 virtual void ReconfigureVideoEncoder(::webrtc::VideoEncoderConfig) = 0;
163
164 virtual void
165 ReconfigureVideoEncoder(::webrtc::VideoEncoderConfig, ::absl::AnyInvocable<void(::webrtc::RTCError) &&>) = 0;
166
167 virtual ::webrtc::VideoSendStream::Stats GetStats() = 0;
168
169 virtual void SetStats(::webrtc::VideoSendStream::Stats const&);
170
171 virtual void SetCsrcs(::webrtc::ArrayView<uint const>) = 0;
172
173 virtual void GenerateKeyFrame(::std::vector<::std::string> const&) = 0;
174
175 virtual ~VideoSendStream() = default;
176 // NOLINTEND
177};
178
179} // namespace webrtc
Definition AnyInvocable.h:8
Definition ArrayView.h:8
Definition RTCError.h:10
Definition Resource.h:15
Definition VideoEncoderConfig.h:19
Definition VideoFrame.h:16
Definition VideoSendStream.h:22
Definition VideoSourceInterface.h:8
Definition scoped_refptr.h:8
Definition Alias.h:14
Definition VideoSendStream.h:32
Definition VideoSendStream.h:100
Definition VideoSendStream.h:57