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