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 virtual ~VideoFecGenerator() = default;
27
28 virtual ::webrtc::VideoFecGenerator::FecType GetFecType() const = 0;
29
30 virtual ::std::optional<uint> FecSsrc() = 0;
31
32 virtual uint64 MaxPacketOverhead() const = 0;
33
34 virtual ::webrtc::DataRate CurrentFecRate() const = 0;
35
36 virtual void
37 SetProtectionParameters(::webrtc::FecProtectionParams const&, ::webrtc::FecProtectionParams const&) = 0;
38
39 virtual void AddPacketAndGenerateFec(::webrtc::RtpPacketToSend const&) = 0;
40
41 virtual ::std::vector<::std::unique_ptr<::webrtc::RtpPacketToSend>> GetFecPackets() = 0;
42
43 virtual ::std::optional<::webrtc::RtpState> GetRtpState() = 0;
44 // NOLINTEND
45
46public:
47 // virtual function thunks
48 // NOLINTBEGIN
49
50 // NOLINTEND
51};
52
53} // namespace webrtc
Definition DataRate.h:10
Definition RtpPacketToSend.h:16
Definition VideoFecGenerator.h:15
Definition FecProtectionParams.h:7
Definition RtpState.h:7