LeviLamina
Loading...
Searching...
No Matches
VideoFecGenerator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace webrtc { class DataRate; }
8namespace webrtc { class RtpPacketToSend; }
9namespace webrtc { struct FecProtectionParams; }
10namespace webrtc { struct RtpState; }
11// clang-format on
12
13namespace webrtc {
14
16public:
17 // VideoFecGenerator inner types define
18 enum class FecType : int {
19 KFlexFec = 0,
20 KUlpFec = 1,
21 };
22
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 // vIndex: 0
27 virtual ~VideoFecGenerator() = default;
28
29 // vIndex: 1
30 virtual ::webrtc::VideoFecGenerator::FecType GetFecType() const = 0;
31
32 // vIndex: 2
33 virtual ::std::optional<uint> FecSsrc() = 0;
34
35 // vIndex: 3
36 virtual uint64 MaxPacketOverhead() const = 0;
37
38 // vIndex: 4
39 virtual ::webrtc::DataRate CurrentFecRate() const = 0;
40
41 // vIndex: 5
42 virtual void
43 SetProtectionParameters(::webrtc::FecProtectionParams const&, ::webrtc::FecProtectionParams const&) = 0;
44
45 // vIndex: 6
46 virtual void AddPacketAndGenerateFec(::webrtc::RtpPacketToSend const&) = 0;
47
48 // vIndex: 7
49 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> GetFecPackets() = 0;
50
51 // vIndex: 8
52 virtual ::std::optional<::webrtc::RtpState> GetRtpState() = 0;
53 // NOLINTEND
54
55public:
56 // virtual function thunks
57 // NOLINTBEGIN
58
59 // NOLINTEND
60};
61
62} // namespace webrtc
Definition RtpPacketToSend.h:16
Definition VideoFecGenerator.h:15
Definition FecProtectionParams.h:7