LeviLamina
Loading...
Searching...
No Matches
RtpTransportInternal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/sigslot/has_slots.h"
7#include "mc/external/sigslot/single_threaded.h"
8#include "mc/external/webrtc/Socket.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace webrtc { class CopyOnWriteBuffer; }
13namespace webrtc { class RtpDemuxerCriteria; }
14namespace webrtc { class RtpPacketSinkInterface; }
15namespace webrtc { struct AsyncSocketPacketOptions; }
16namespace webrtc { struct RtpExtension; }
17// clang-format on
18
19namespace webrtc {
20
21class RtpTransportInternal : public ::sigslot::has_slots<::sigslot::single_threaded> {
22public:
23 // member variables
24 // NOLINTBEGIN
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 RtpTransportInternal& operator=(RtpTransportInternal const&);
36 RtpTransportInternal(RtpTransportInternal const&);
37 RtpTransportInternal();
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ~RtpTransportInternal() /*override*/;
43
44 virtual void SetRtcpMuxEnabled(bool enable) = 0;
45
46 virtual ::std::string const& transport_name() const = 0;
47
48 virtual int SetRtpOption(::webrtc::Socket::Option opt, int value) = 0;
49
50 virtual int SetRtcpOption(::webrtc::Socket::Option opt, int value) = 0;
51
52 virtual bool rtcp_mux_enabled() const = 0;
53
54 virtual bool IsReadyToSend() const = 0;
55
56 virtual bool IsWritable(bool rtcp) const = 0;
57
58 virtual bool SendRtpPacket(
61 int flags
62 ) = 0;
63
64 virtual bool SendRtcpPacket(
67 int flags
68 ) = 0;
69
70 virtual void UpdateRtpHeaderExtensionMap(::std::vector<::webrtc::RtpExtension> const& header_extensions) = 0;
71
72 virtual bool IsSrtpActive() const = 0;
73
74 virtual bool
75 RegisterRtpDemuxerSink(::webrtc::RtpDemuxerCriteria const& criteria, ::webrtc::RtpPacketSinkInterface* sink) = 0;
76
77 virtual bool UnregisterRtpDemuxerSink(::webrtc::RtpPacketSinkInterface* sink) = 0;
78 // NOLINTEND
79
80public:
81 // destructor thunk
82 // NOLINTBEGIN
83 MCNAPI void $dtor();
84 // NOLINTEND
85
86public:
87 // vftables
88 // NOLINTBEGIN
89 MCNAPI static void** $vftable();
90 // NOLINTEND
91};
92
93} // namespace webrtc
Definition has_slots.h:8
Definition CopyOnWriteBuffer.h:11
Definition RtpDemuxerCriteria.h:7
Definition RtpPacketSinkInterface.h:12
static MCAPI void ** $vftable()
Definition Alias.h:14
Definition AsyncSocketPacketOptions.h:10
Definition RtpExtension.h:7