LeviLamina
Loading...
Searching...
No Matches
MediaSendChannelInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/absl/AnyInvocable.h"
7#include "mc/external/webrtc/MediaType.h"
8#include "mc/external/webrtc/VideoEncoderFactory.h"
9#include "mc/external/webrtc/scoped_refptr.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace webrtc { class FrameEncryptorInterface; }
14namespace webrtc { class FrameTransformerInterface; }
15namespace webrtc { class MediaChannelNetworkInterface; }
16namespace webrtc { class RTCError; }
17namespace webrtc { class VideoMediaSendChannelInterface; }
18namespace webrtc { class VoiceMediaSendChannelInterface; }
19namespace webrtc { struct Codec; }
20namespace webrtc { struct NetworkRoute; }
21namespace webrtc { struct RtpParameters; }
22namespace webrtc { struct SentPacketInfo; }
23namespace webrtc { struct StreamParams; }
24// clang-format on
25
26namespace webrtc {
27
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~MediaSendChannelInterface() = default;
33
34 virtual ::webrtc::VideoMediaSendChannelInterface* AsVideoSendChannel() = 0;
35
36 virtual ::webrtc::VoiceMediaSendChannelInterface* AsVoiceSendChannel() = 0;
37
38 virtual ::webrtc::MediaType media_type() const = 0;
39
40 virtual ::std::optional<::webrtc::Codec> GetSendCodec() const = 0;
41
42 virtual bool AddSendStream(::webrtc::StreamParams const&) = 0;
43
44 virtual bool RemoveSendStream(uint) = 0;
45
46 virtual void OnPacketSent(::webrtc::SentPacketInfo const&) = 0;
47
48 virtual void OnReadyToSend(bool) = 0;
49
50 virtual void OnNetworkRouteChanged(::std::string_view, ::webrtc::NetworkRoute const&) = 0;
51
52 virtual void SetInterface(::webrtc::MediaChannelNetworkInterface*) = 0;
53
54 virtual bool HasNetworkInterface() const = 0;
55
56 virtual void SetExtmapAllowMixed(bool) = 0;
57
58 virtual bool ExtmapAllowMixed() const = 0;
59
60 virtual void SetFrameEncryptor(uint, ::webrtc::scoped_refptr<::webrtc::FrameEncryptorInterface>) = 0;
61
62 virtual ::webrtc::RTCError
63 SetRtpSendParameters(uint, ::webrtc::RtpParameters const&, ::absl::AnyInvocable<void(::webrtc::RTCError) &&>) = 0;
64
65 virtual void
66 SetEncoderToPacketizerFrameTransformer(uint, ::webrtc::scoped_refptr<::webrtc::FrameTransformerInterface>) = 0;
67
68 virtual void SetEncoderSelector(uint, ::webrtc::VideoEncoderFactory::EncoderSelectorInterface*);
69
70 virtual ::webrtc::RtpParameters GetRtpSendParameters(uint) const = 0;
71
72 virtual bool SendCodecHasNack() const = 0;
73
74 virtual void SetSsrcListChangedCallback(::absl::AnyInvocable<void(::std::set<uint> const&)>) = 0;
75
76 virtual void SetSendCodecChangedCallback(::absl::AnyInvocable<void()>) = 0;
77 // NOLINTEND
78};
79
80} // namespace webrtc
Definition AnyInvocable.h:8
Definition FrameEncryptorInterface.h:12
Definition FrameTransformerInterface.h:17
Definition MediaChannelNetworkInterface.h:16
Definition MediaSendChannelInterface.h:28
Definition RTCError.h:10
Definition VideoMediaSendChannelInterface.h:21
Definition VoiceMediaSendChannelInterface.h:18
Definition scoped_refptr.h:8
Definition Codec.h:13
Definition NetworkRoute.h:7
Definition RtpParameters.h:7
Definition SentPacketInfo.h:12
Definition StreamParams.h:12