LeviLamina
Loading...
Searching...
No Matches
RemoteAudioSource.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/AudioSinkInterface.h"
7#include "mc/external/webrtc/AudioSourceInterface.h"
8#include "mc/external/webrtc/MediaSourceInterface.h"
9#include "mc/external/webrtc/Notifier.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace cricket { class VoiceMediaReceiveChannelInterface; }
14namespace webrtc { class AudioTrackSinkInterface; }
15namespace webrtc { class TaskQueueBase; }
16// clang-format on
17
18namespace webrtc {
19
20class RemoteAudioSource : public ::webrtc::Notifier<::webrtc::AudioSourceInterface> {
21public:
22 // RemoteAudioSource inner types declare
23 // clang-format off
24 class AudioDataProxy;
25 // clang-format on
26
27 // RemoteAudioSource inner types define
28 enum class OnAudioChannelGoneAction : int {
29 KSurvive = 0,
30 KEnd = 1,
31 };
32
34 public:
35 // member variables
36 // NOLINTBEGIN
38 // NOLINTEND
39
40 public:
41 // prevent constructor by default
42 AudioDataProxy& operator=(AudioDataProxy const&);
45
46 public:
47 // virtual functions
48 // NOLINTBEGIN
49 // vIndex: 0
50 virtual ~AudioDataProxy() /*override*/ = default;
51
52 // vIndex: 1
53 virtual void OnData(::webrtc::AudioSinkInterface::Data const& audio) /*override*/;
54 // NOLINTEND
55
56 public:
57 // virtual function thunks
58 // NOLINTBEGIN
60 // NOLINTEND
61
62 public:
63 // vftables
64 // NOLINTBEGIN
65 MCNAPI static void** $vftable();
66 // NOLINTEND
67 };
68
69public:
70 // member variables
71 // NOLINTBEGIN
79 // NOLINTEND
80
81public:
82 // prevent constructor by default
83 RemoteAudioSource& operator=(RemoteAudioSource const&);
86
87public:
88 // virtual functions
89 // NOLINTBEGIN
90 // vIndex: 3
91 virtual ::webrtc::MediaSourceInterface::SourceState state() const /*override*/;
92
93 // vIndex: 4
94 virtual bool remote() const /*override*/;
95
96 // vIndex: 5
97 virtual void SetVolume(double volume) /*override*/;
98
99 // vIndex: 6
100 virtual void RegisterAudioObserver(::webrtc::AudioSourceInterface::AudioObserver* observer) /*override*/;
101
102 // vIndex: 7
103 virtual void UnregisterAudioObserver(::webrtc::AudioSourceInterface::AudioObserver* observer) /*override*/;
104
105 // vIndex: 8
106 virtual void AddSink(::webrtc::AudioTrackSinkInterface* sink) /*override*/;
107
108 // vIndex: 9
109 virtual void RemoveSink(::webrtc::AudioTrackSinkInterface* sink) /*override*/;
110
111 // vIndex: 2
112 virtual ~RemoteAudioSource() /*override*/;
113 // NOLINTEND
114
115public:
116 // member functions
117 // NOLINTBEGIN
118 MCNAPI void OnAudioChannelGone();
119
120 MCNAPI void OnData(::webrtc::AudioSinkInterface::Data const& audio);
121
123 ::webrtc::TaskQueueBase* worker_thread,
124 ::webrtc::RemoteAudioSource::OnAudioChannelGoneAction on_audio_channel_gone_action
125 );
126
127 MCNAPI void SetState(::webrtc::MediaSourceInterface::SourceState new_state);
128
129 MCNAPI void Start(::cricket::VoiceMediaReceiveChannelInterface* media_channel, ::std::optional<uint> ssrc);
130
131 MCNAPI void Stop(::cricket::VoiceMediaReceiveChannelInterface* media_channel, ::std::optional<uint> ssrc);
132 // NOLINTEND
133
134public:
135 // constructor thunks
136 // NOLINTBEGIN
137 MCNAPI void* $ctor(
138 ::webrtc::TaskQueueBase* worker_thread,
139 ::webrtc::RemoteAudioSource::OnAudioChannelGoneAction on_audio_channel_gone_action
140 );
141 // NOLINTEND
142
143public:
144 // destructor thunk
145 // NOLINTBEGIN
146 MCNAPI void $dtor();
147 // NOLINTEND
148
149public:
150 // virtual function thunks
151 // NOLINTBEGIN
152 MCNAPI ::webrtc::MediaSourceInterface::SourceState $state() const;
153
154 MCNAPI bool $remote() const;
155
156 MCNAPI void $SetVolume(double volume);
157
158 MCNAPI void $RegisterAudioObserver(::webrtc::AudioSourceInterface::AudioObserver* observer);
159
160 MCNAPI void $UnregisterAudioObserver(::webrtc::AudioSourceInterface::AudioObserver* observer);
161
162 MCNAPI void $AddSink(::webrtc::AudioTrackSinkInterface* sink);
163
164 MCNAPI void $RemoveSink(::webrtc::AudioTrackSinkInterface* sink);
165 // NOLINTEND
166
167public:
168 // vftables
169 // NOLINTBEGIN
170 MCNAPI static void** $vftableForNotifierInterface();
171
172 MCNAPI static void** $vftableForRefCountInterface();
173 // NOLINTEND
174};
175
176} // namespace webrtc
Definition AudioSinkInterface.h:7
Definition AudioSourceInterface.h:16
Definition AudioTrackSinkInterface.h:7
Definition MediaSourceInterface.h:11
Definition Notifier.h:8
Definition RemoteAudioSource.h:33
MCAPI void $OnData(::webrtc::AudioSinkInterface::Data const &audio)
Definition RemoteAudioSource.h:20
MCAPI void * $ctor(::webrtc::TaskQueueBase *worker_thread, ::webrtc::RemoteAudioSource::OnAudioChannelGoneAction on_audio_channel_gone_action)
MCAPI::webrtc::MediaSourceInterface::SourceState $state() const
static MCAPI void ** $vftableForNotifierInterface()
MCAPI void $RemoveSink(::webrtc::AudioTrackSinkInterface *sink)
MCAPI void $AddSink(::webrtc::AudioTrackSinkInterface *sink)
MCAPI void $UnregisterAudioObserver(::webrtc::AudioSourceInterface::AudioObserver *observer)
static MCAPI void ** $vftableForRefCountInterface()
MCAPI void SetState(::webrtc::MediaSourceInterface::SourceState new_state)
MCAPI void OnAudioChannelGone()
MCAPI bool $remote() const
MCAPI void $SetVolume(double volume)
MCAPI void $RegisterAudioObserver(::webrtc::AudioSourceInterface::AudioObserver *observer)
MCAPI void OnData(::webrtc::AudioSinkInterface::Data const &audio)
Definition TaskQueueBase.h:16
STL namespace.
Definition Alias.h:14
Definition AudioSinkInterface.h:15