@@ -117,15 +117,15 @@ bool VoipCore::Init(rtc::scoped_refptr<AudioEncoderFactory> encoder_factory,
117
117
absl::optional<ChannelId> VoipCore::CreateChannel (
118
118
Transport* transport,
119
119
absl::optional<uint32_t > local_ssrc) {
120
- absl::optional<ChannelId> channel ;
120
+ absl::optional<ChannelId> channel_id ;
121
121
122
122
// Set local ssrc to random if not set by caller.
123
123
if (!local_ssrc) {
124
124
Random random (rtc::TimeMicros ());
125
125
local_ssrc = random.Rand <uint32_t >();
126
126
}
127
127
128
- rtc::scoped_refptr<AudioChannel> audio_channel =
128
+ rtc::scoped_refptr<AudioChannel> channel =
129
129
new rtc::RefCountedObject<AudioChannel>(
130
130
transport, local_ssrc.value (), task_queue_factory_.get (),
131
131
process_thread_.get (), audio_mixer_.get (), decoder_factory_);
@@ -139,49 +139,49 @@ absl::optional<ChannelId> VoipCore::CreateChannel(
139
139
// Start process thread if the channel is the first one.
140
140
start_process_thread = channels_.empty ();
141
141
142
- channel = static_cast <ChannelId>(next_channel_id_);
143
- channels_[*channel ] = audio_channel ;
142
+ channel_id = static_cast <ChannelId>(next_channel_id_);
143
+ channels_[*channel_id ] = channel ;
144
144
next_channel_id_++;
145
145
if (next_channel_id_ >= kMaxChannelId ) {
146
146
next_channel_id_ = 0 ;
147
147
}
148
148
}
149
149
150
150
// Set ChannelId in audio channel for logging/debugging purpose.
151
- audio_channel ->SetId (*channel );
151
+ channel ->SetId (*channel_id );
152
152
153
153
if (start_process_thread) {
154
154
process_thread_->Start ();
155
155
}
156
156
157
- return channel ;
157
+ return channel_id ;
158
158
}
159
159
160
- void VoipCore::ReleaseChannel (ChannelId channel ) {
160
+ void VoipCore::ReleaseChannel (ChannelId channel_id ) {
161
161
// Destroy channel outside of the lock.
162
- rtc::scoped_refptr<AudioChannel> audio_channel ;
162
+ rtc::scoped_refptr<AudioChannel> channel ;
163
163
164
164
bool no_channels_after_release = false ;
165
165
166
166
{
167
167
MutexLock lock (&lock_);
168
168
169
- auto iter = channels_.find (channel );
169
+ auto iter = channels_.find (channel_id );
170
170
if (iter != channels_.end ()) {
171
- audio_channel = std::move (iter->second );
171
+ channel = std::move (iter->second );
172
172
channels_.erase (iter);
173
173
}
174
174
175
175
no_channels_after_release = channels_.empty ();
176
176
}
177
177
178
- if (!audio_channel ) {
179
- RTC_LOG (LS_WARNING) << " Channel " << channel << " not found" ;
178
+ if (!channel ) {
179
+ RTC_LOG (LS_WARNING) << " Channel " << channel_id << " not found" ;
180
180
}
181
181
182
182
if (no_channels_after_release) {
183
183
// Release audio channel first to have it DeRegisterModule first.
184
- audio_channel = nullptr ;
184
+ channel = nullptr ;
185
185
process_thread_->Stop ();
186
186
187
187
// Make sure to stop playout on ADM if it is playing.
@@ -193,19 +193,19 @@ void VoipCore::ReleaseChannel(ChannelId channel) {
193
193
}
194
194
}
195
195
196
- rtc::scoped_refptr<AudioChannel> VoipCore::GetChannel (ChannelId channel ) {
197
- rtc::scoped_refptr<AudioChannel> audio_channel ;
196
+ rtc::scoped_refptr<AudioChannel> VoipCore::GetChannel (ChannelId channel_id ) {
197
+ rtc::scoped_refptr<AudioChannel> channel ;
198
198
{
199
199
MutexLock lock (&lock_);
200
- auto iter = channels_.find (channel );
200
+ auto iter = channels_.find (channel_id );
201
201
if (iter != channels_.end ()) {
202
- audio_channel = iter->second ;
202
+ channel = iter->second ;
203
203
}
204
204
}
205
- if (!audio_channel ) {
206
- RTC_LOG (LS_ERROR) << " Channel " << channel << " not found" ;
205
+ if (!channel ) {
206
+ RTC_LOG (LS_ERROR) << " Channel " << channel_id << " not found" ;
207
207
}
208
- return audio_channel ;
208
+ return channel ;
209
209
}
210
210
211
211
bool VoipCore::UpdateAudioTransportWithSenders () {
@@ -263,37 +263,40 @@ bool VoipCore::UpdateAudioTransportWithSenders() {
263
263
return true ;
264
264
}
265
265
266
- bool VoipCore::StartSend (ChannelId channel) {
267
- auto audio_channel = GetChannel (channel);
268
- if (!audio_channel || !audio_channel->StartSend ()) {
266
+ bool VoipCore::StartSend (ChannelId channel_id) {
267
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
268
+
269
+ if (!channel || !channel->StartSend ()) {
269
270
return false ;
270
271
}
271
272
272
273
return UpdateAudioTransportWithSenders ();
273
274
}
274
275
275
- bool VoipCore::StopSend (ChannelId channel) {
276
- auto audio_channel = GetChannel (channel);
277
- if (!audio_channel) {
276
+ bool VoipCore::StopSend (ChannelId channel_id) {
277
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
278
+
279
+ if (!channel) {
278
280
return false ;
279
281
}
280
282
281
- audio_channel ->StopSend ();
283
+ channel ->StopSend ();
282
284
283
285
return UpdateAudioTransportWithSenders ();
284
286
}
285
287
286
- bool VoipCore::StartPlayout (ChannelId channel) {
287
- auto audio_channel = GetChannel (channel);
288
- if (!audio_channel) {
288
+ bool VoipCore::StartPlayout (ChannelId channel_id) {
289
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
290
+
291
+ if (!channel) {
289
292
return false ;
290
293
}
291
294
292
- if (audio_channel ->IsPlaying ()) {
295
+ if (channel ->IsPlaying ()) {
293
296
return true ;
294
297
}
295
298
296
- if (!audio_channel ->StartPlay ()) {
299
+ if (!channel ->StartPlay ()) {
297
300
return false ;
298
301
}
299
302
@@ -310,77 +313,86 @@ bool VoipCore::StartPlayout(ChannelId channel) {
310
313
return true ;
311
314
}
312
315
313
- bool VoipCore::StopPlayout (ChannelId channel) {
314
- auto audio_channel = GetChannel (channel);
315
- if (!audio_channel) {
316
+ bool VoipCore::StopPlayout (ChannelId channel_id) {
317
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
318
+
319
+ if (!channel) {
316
320
return false ;
317
321
}
318
322
319
- audio_channel ->StopPlay ();
323
+ channel ->StopPlay ();
320
324
321
325
return true ;
322
326
}
323
327
324
- void VoipCore::ReceivedRTPPacket (ChannelId channel ,
328
+ void VoipCore::ReceivedRTPPacket (ChannelId channel_id ,
325
329
rtc::ArrayView<const uint8_t > rtp_packet) {
326
- // Failure to locate channel is logged internally in GetChannel.
327
- if (auto audio_channel = GetChannel (channel)) {
328
- audio_channel->ReceivedRTPPacket (rtp_packet);
330
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
331
+
332
+ if (channel) {
333
+ channel->ReceivedRTPPacket (rtp_packet);
329
334
}
330
335
}
331
336
332
- void VoipCore::ReceivedRTCPPacket (ChannelId channel ,
337
+ void VoipCore::ReceivedRTCPPacket (ChannelId channel_id ,
333
338
rtc::ArrayView<const uint8_t > rtcp_packet) {
334
- // Failure to locate channel is logged internally in GetChannel.
335
- if (auto audio_channel = GetChannel (channel)) {
336
- audio_channel->ReceivedRTCPPacket (rtcp_packet);
339
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
340
+
341
+ if (channel) {
342
+ channel->ReceivedRTCPPacket (rtcp_packet);
337
343
}
338
344
}
339
345
340
- void VoipCore::SetSendCodec (ChannelId channel ,
346
+ void VoipCore::SetSendCodec (ChannelId channel_id ,
341
347
int payload_type,
342
348
const SdpAudioFormat& encoder_format) {
343
- // Failure to locate channel is logged internally in GetChannel.
344
- if (auto audio_channel = GetChannel (channel)) {
349
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
350
+
351
+ if (channel) {
345
352
auto encoder = encoder_factory_->MakeAudioEncoder (
346
353
payload_type, encoder_format, absl::nullopt);
347
- audio_channel ->SetEncoder (payload_type, encoder_format, std::move (encoder));
354
+ channel ->SetEncoder (payload_type, encoder_format, std::move (encoder));
348
355
}
349
356
}
350
357
351
358
void VoipCore::SetReceiveCodecs (
352
- ChannelId channel ,
359
+ ChannelId channel_id ,
353
360
const std::map<int , SdpAudioFormat>& decoder_specs) {
354
- // Failure to locate channel is logged internally in GetChannel.
355
- if (auto audio_channel = GetChannel (channel)) {
356
- audio_channel->SetReceiveCodecs (decoder_specs);
361
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
362
+
363
+ if (channel) {
364
+ channel->SetReceiveCodecs (decoder_specs);
357
365
}
358
366
}
359
367
360
- void VoipCore::RegisterTelephoneEventType (ChannelId channel ,
368
+ void VoipCore::RegisterTelephoneEventType (ChannelId channel_id ,
361
369
int rtp_payload_type,
362
370
int sample_rate_hz) {
363
- // Failure to locate channel is logged internally in GetChannel.
364
- if (auto audio_channel = GetChannel (channel)) {
365
- audio_channel->RegisterTelephoneEventType (rtp_payload_type, sample_rate_hz);
371
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
372
+
373
+ if (channel) {
374
+ channel->RegisterTelephoneEventType (rtp_payload_type, sample_rate_hz);
366
375
}
367
376
}
368
377
369
- bool VoipCore::SendDtmfEvent (ChannelId channel ,
378
+ bool VoipCore::SendDtmfEvent (ChannelId channel_id ,
370
379
DtmfEvent dtmf_event,
371
380
int duration_ms) {
372
- // Failure to locate channel is logged internally in GetChannel.
373
- if (auto audio_channel = GetChannel (channel)) {
374
- return audio_channel->SendTelephoneEvent (static_cast <int >(dtmf_event),
375
- duration_ms);
381
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
382
+
383
+ if (channel) {
384
+ return channel->SendTelephoneEvent (static_cast <int >(dtmf_event),
385
+ duration_ms);
376
386
}
377
387
return false ;
378
388
}
379
389
380
390
absl::optional<IngressStatistics> VoipCore::GetIngressStatistics (
381
- ChannelId channel) {
382
- if (auto audio_channel = GetChannel (channel)) {
383
- return audio_channel->GetIngressStatistics ();
391
+ ChannelId channel_id) {
392
+ rtc::scoped_refptr<AudioChannel> channel = GetChannel (channel_id);
393
+
394
+ if (channel) {
395
+ return channel->GetIngressStatistics ();
384
396
}
385
397
return absl::nullopt;
386
398
}
0 commit comments