LeviLamina
Loading...
Searching...
No Matches
BitrateProber.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace webrtc { class DataSize; }
8namespace webrtc { class FieldTrialsView; }
9namespace webrtc { class Timestamp; }
10namespace webrtc { struct PacedPacketInfo; }
11namespace webrtc { struct ProbeClusterConfig; }
12// clang-format on
13
14namespace webrtc {
15
17public:
18 // BitrateProber inner types declare
19 // clang-format off
20 struct ProbeCluster;
21 // clang-format on
22
23 // BitrateProber inner types define
24 enum class ProbingState : int {
25 KDisabled = 0,
26 KInactive = 1,
27 KActive = 2,
28 };
29
30 struct ProbeCluster {
31 public:
32 // member variables
33 // NOLINTBEGIN
40 // NOLINTEND
41
42 public:
43 // prevent constructor by default
44 ProbeCluster& operator=(ProbeCluster const&);
47 };
48
49public:
50 // member variables
51 // NOLINTBEGIN
56 // NOLINTEND
57
58public:
59 // prevent constructor by default
60 BitrateProber& operator=(BitrateProber const&);
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCNAPI explicit BitrateProber(::webrtc::FieldTrialsView const& field_trials);
68
69 MCNAPI ::webrtc::Timestamp CalculateNextProbeTime(::webrtc::BitrateProber::ProbeCluster const& cluster) const;
70
71 MCNAPI void CreateProbeCluster(::webrtc::ProbeClusterConfig const& cluster_config);
72
73 MCNAPI ::std::optional<::webrtc::PacedPacketInfo> CurrentCluster(::webrtc::Timestamp now);
74
75 MCNAPI void MaybeSetActiveState(::webrtc::DataSize packet_size);
76
77 MCNAPI ::webrtc::Timestamp NextProbeTime(::webrtc::Timestamp now) const;
78
79 MCNAPI void OnIncomingPacket(::webrtc::DataSize packet_size);
80
82
83 MCNAPI bool ReadyToSetActiveState(::webrtc::DataSize packet_size) const;
84
85 MCNAPI ::webrtc::DataSize RecommendedMinProbeSize() const;
86
87 MCNAPI void SetAllowProbeWithoutMediaPacket(bool allow);
88
89 MCNAPI void SetEnabled(bool enable);
90
92 // NOLINTEND
93
94public:
95 // constructor thunks
96 // NOLINTBEGIN
97 MCNAPI void* $ctor(::webrtc::FieldTrialsView const& field_trials);
98 // NOLINTEND
99
100public:
101 // destructor thunk
102 // NOLINTBEGIN
103 MCNAPI void $dtor();
104 // NOLINTEND
105};
106
107} // namespace webrtc
Definition BitrateProber.h:16
MCAPI::webrtc::Timestamp NextProbeTime(::webrtc::Timestamp now) const
MCAPI void ProbeSent(::webrtc::Timestamp now, ::webrtc::DataSize size)
MCAPI ::std::optional<::webrtc::PacedPacketInfo > CurrentCluster(::webrtc::Timestamp now)
MCAPI::webrtc::DataSize RecommendedMinProbeSize() const
MCAPI void CreateProbeCluster(::webrtc::ProbeClusterConfig const &cluster_config)
MCAPI BitrateProber(::webrtc::FieldTrialsView const &field_trials)
MCAPI bool ReadyToSetActiveState(::webrtc::DataSize packet_size) const
MCAPI void * $ctor(::webrtc::FieldTrialsView const &field_trials)
MCAPI void MaybeSetActiveState(::webrtc::DataSize packet_size)
MCAPI void SetEnabled(bool enable)
MCAPI::webrtc::Timestamp CalculateNextProbeTime(::webrtc::BitrateProber::ProbeCluster const &cluster) const
MCAPI void SetAllowProbeWithoutMediaPacket(bool allow)
MCAPI void OnIncomingPacket(::webrtc::DataSize packet_size)
Definition DataSize.h:10
Definition FieldTrialsView.h:7
Definition Timestamp.h:10
Definition Alias.h:14
Definition BitrateProber.h:30
Definition ProbeClusterConfig.h:7