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/cricket/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 cricket { class MediaChannelNetworkInterface; }
14namespace cricket { class VideoMediaSendChannelInterface; }
15namespace cricket { class VoiceMediaSendChannelInterface; }
16namespace cricket { struct Codec; }
17namespace cricket { struct StreamParams; }
18namespace rtc { struct NetworkRoute; }
19namespace rtc { struct SentPacket; }
20namespace webrtc { class FrameEncryptorInterface; }
21namespace webrtc { class FrameTransformerInterface; }
22namespace webrtc { class RTCError; }
23namespace webrtc { struct RtpParameters; }
24// clang-format on
25
26namespace cricket {
27
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~MediaSendChannelInterface() = default;
33
34 virtual ::cricket::VideoMediaSendChannelInterface* AsVideoSendChannel() = 0;
35
36 virtual ::cricket::VoiceMediaSendChannelInterface* AsVoiceSendChannel() = 0;
37
38 virtual ::cricket::MediaType media_type() const = 0;
39
40 virtual ::std::optional<::cricket::Codec> GetSendCodec() const = 0;
41
42 virtual bool AddSendStream(::cricket::StreamParams const&) = 0;
43
44 virtual bool RemoveSendStream(uint) = 0;
45
46 virtual void OnPacketSent(::rtc::SentPacket const&) = 0;
47
48 virtual void OnReadyToSend(bool) = 0;
49
50 virtual void OnNetworkRouteChanged(::std::string_view, ::rtc::NetworkRoute const&) = 0;
51
52 virtual void SetInterface(::cricket::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
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82
83 // NOLINTEND
84};
85
86} // namespace cricket
Definition AnyInvocable.h:8
Definition MediaChannelNetworkInterface.h:16
Definition MediaSendChannelInterface.h:28
Definition VideoMediaSendChannelInterface.h:21
Definition VoiceMediaSendChannelInterface.h:18
Definition FrameEncryptorInterface.h:11
Definition FrameTransformerInterface.h:17
Definition RTCError.h:10
Definition scoped_refptr.h:8
Definition Codec.h:17
Definition StreamParams.h:12
Definition NetworkRoute.h:7
Definition SentPacket.h:12
Definition RtpParameters.h:7