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
16class BitrateProber {
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&);
45 ProbeCluster(ProbeCluster const&);
46 ProbeCluster();
47 };
48
49public:
50 // member variables
51 // NOLINTBEGIN
56 // NOLINTEND
57
58public:
59 // prevent constructor by default
60 BitrateProber& operator=(BitrateProber const&);
61 BitrateProber(BitrateProber const&);
62 BitrateProber();
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCNAPI explicit BitrateProber(::webrtc::FieldTrialsView const& field_trials);
68
69 MCNAPI void CreateProbeCluster(::webrtc::ProbeClusterConfig const& cluster_config);
70
71 MCNAPI ::std::optional<::webrtc::PacedPacketInfo> CurrentCluster(::webrtc::Timestamp now);
72
73 MCNAPI void MaybeSetActiveState(::webrtc::DataSize packet_size);
74
75 MCNAPI ::webrtc::Timestamp NextProbeTime(::webrtc::Timestamp now) const;
76
77 MCNAPI void OnIncomingPacket(::webrtc::DataSize packet_size);
78
80
81 MCNAPI ::webrtc::DataSize RecommendedMinProbeSize() const;
82
83 MCNAPI void SetAllowProbeWithoutMediaPacket(bool allow);
84
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCNAPI void* $ctor(::webrtc::FieldTrialsView const& field_trials);
92 // NOLINTEND
93
94public:
95 // destructor thunk
96 // NOLINTBEGIN
97 MCNAPI void $dtor();
98 // NOLINTEND
99};
100
101} // namespace webrtc
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 void * $ctor(::webrtc::FieldTrialsView const &field_trials)
MCAPI void MaybeSetActiveState(::webrtc::DataSize packet_size)
MCAPI void SetAllowProbeWithoutMediaPacket(bool allow)
MCAPI void OnIncomingPacket(::webrtc::DataSize packet_size)
Definition DataSize.h:10
Definition FieldTrialsView.h:7
Definition Timestamp.h:15
Definition Alias.h:14
Definition BitrateProber.h:30
Definition PacedPacketInfo.h:7
Definition ProbeClusterConfig.h:7