| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 1318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1329 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); | 1329 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| 1330 RTC_DCHECK(stream_); | 1330 RTC_DCHECK(stream_); |
| 1331 return stream_->GetStats(); | 1331 return stream_->GetStats(); |
| 1332 } | 1332 } |
| 1333 | 1333 |
| 1334 int channel() const { | 1334 int channel() const { |
| 1335 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); | 1335 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| 1336 return config_.voe_channel_id; | 1336 return config_.voe_channel_id; |
| 1337 } | 1337 } |
| 1338 | 1338 |
| 1339 void SetRawAudioSink(rtc::scoped_ptr<webrtc::AudioSinkInterface> sink) { | 1339 void SetRawAudioSink(std::unique_ptr<webrtc::AudioSinkInterface> sink) { |
| 1340 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); | 1340 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| 1341 stream_->SetSink(rtc::ScopedToUnique(std::move(sink))); | 1341 stream_->SetSink(std::move(sink)); |
| 1342 } | 1342 } |
| 1343 | 1343 |
| 1344 private: | 1344 private: |
| 1345 void RecreateAudioReceiveStream( | 1345 void RecreateAudioReceiveStream( |
| 1346 bool use_transport_cc, | 1346 bool use_transport_cc, |
| 1347 const std::vector<webrtc::RtpExtension>& extensions) { | 1347 const std::vector<webrtc::RtpExtension>& extensions) { |
| 1348 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); | 1348 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| 1349 if (stream_) { | 1349 if (stream_) { |
| 1350 call_->DestroyAudioReceiveStream(stream_); | 1350 call_->DestroyAudioReceiveStream(stream_); |
| 1351 stream_ = nullptr; | 1351 stream_ = nullptr; |
| (...skipping 903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2255 StreamParams sp; | 2255 StreamParams sp; |
| 2256 sp.ssrcs.push_back(ssrc); | 2256 sp.ssrcs.push_back(ssrc); |
| 2257 LOG(LS_INFO) << "Creating default receive stream for SSRC=" << ssrc << "."; | 2257 LOG(LS_INFO) << "Creating default receive stream for SSRC=" << ssrc << "."; |
| 2258 if (!AddRecvStream(sp)) { | 2258 if (!AddRecvStream(sp)) { |
| 2259 LOG(LS_WARNING) << "Could not create default receive stream."; | 2259 LOG(LS_WARNING) << "Could not create default receive stream."; |
| 2260 return; | 2260 return; |
| 2261 } | 2261 } |
| 2262 default_recv_ssrc_ = ssrc; | 2262 default_recv_ssrc_ = ssrc; |
| 2263 SetOutputVolume(default_recv_ssrc_, default_recv_volume_); | 2263 SetOutputVolume(default_recv_ssrc_, default_recv_volume_); |
| 2264 if (default_sink_) { | 2264 if (default_sink_) { |
| 2265 rtc::scoped_ptr<webrtc::AudioSinkInterface> proxy_sink( | 2265 std::unique_ptr<webrtc::AudioSinkInterface> proxy_sink( |
| 2266 new ProxySink(default_sink_.get())); | 2266 new ProxySink(default_sink_.get())); |
| 2267 SetRawAudioSink(default_recv_ssrc_, std::move(proxy_sink)); | 2267 SetRawAudioSink(default_recv_ssrc_, std::move(proxy_sink)); |
| 2268 } | 2268 } |
| 2269 } | 2269 } |
| 2270 | 2270 |
| 2271 // Forward packet to Call. If the SSRC is unknown we'll return after this. | 2271 // Forward packet to Call. If the SSRC is unknown we'll return after this. |
| 2272 const webrtc::PacketTime webrtc_packet_time(packet_time.timestamp, | 2272 const webrtc::PacketTime webrtc_packet_time(packet_time.timestamp, |
| 2273 packet_time.not_before); | 2273 packet_time.not_before); |
| 2274 webrtc::PacketReceiver::DeliveryStatus delivery_result = | 2274 webrtc::PacketReceiver::DeliveryStatus delivery_result = |
| 2275 call_->Receiver()->DeliverPacket(webrtc::MediaType::AUDIO, | 2275 call_->Receiver()->DeliverPacket(webrtc::MediaType::AUDIO, |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2485 rinfo.decoding_plc_cng = stats.decoding_plc_cng; | 2485 rinfo.decoding_plc_cng = stats.decoding_plc_cng; |
| 2486 rinfo.capture_start_ntp_time_ms = stats.capture_start_ntp_time_ms; | 2486 rinfo.capture_start_ntp_time_ms = stats.capture_start_ntp_time_ms; |
| 2487 info->receivers.push_back(rinfo); | 2487 info->receivers.push_back(rinfo); |
| 2488 } | 2488 } |
| 2489 | 2489 |
| 2490 return true; | 2490 return true; |
| 2491 } | 2491 } |
| 2492 | 2492 |
| 2493 void WebRtcVoiceMediaChannel::SetRawAudioSink( | 2493 void WebRtcVoiceMediaChannel::SetRawAudioSink( |
| 2494 uint32_t ssrc, | 2494 uint32_t ssrc, |
| 2495 rtc::scoped_ptr<webrtc::AudioSinkInterface> sink) { | 2495 std::unique_ptr<webrtc::AudioSinkInterface> sink) { |
| 2496 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); | 2496 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| 2497 LOG(LS_VERBOSE) << "WebRtcVoiceMediaChannel::SetRawAudioSink: ssrc:" << ssrc | 2497 LOG(LS_VERBOSE) << "WebRtcVoiceMediaChannel::SetRawAudioSink: ssrc:" << ssrc |
| 2498 << " " << (sink ? "(ptr)" : "NULL"); | 2498 << " " << (sink ? "(ptr)" : "NULL"); |
| 2499 if (ssrc == 0) { | 2499 if (ssrc == 0) { |
| 2500 if (default_recv_ssrc_ != -1) { | 2500 if (default_recv_ssrc_ != -1) { |
| 2501 rtc::scoped_ptr<webrtc::AudioSinkInterface> proxy_sink( | 2501 std::unique_ptr<webrtc::AudioSinkInterface> proxy_sink( |
| 2502 sink ? new ProxySink(sink.get()) : nullptr); | 2502 sink ? new ProxySink(sink.get()) : nullptr); |
| 2503 SetRawAudioSink(default_recv_ssrc_, std::move(proxy_sink)); | 2503 SetRawAudioSink(default_recv_ssrc_, std::move(proxy_sink)); |
| 2504 } | 2504 } |
| 2505 default_sink_ = std::move(sink); | 2505 default_sink_ = std::move(sink); |
| 2506 return; | 2506 return; |
| 2507 } | 2507 } |
| 2508 const auto it = recv_streams_.find(ssrc); | 2508 const auto it = recv_streams_.find(ssrc); |
| 2509 if (it == recv_streams_.end()) { | 2509 if (it == recv_streams_.end()) { |
| 2510 LOG(LS_WARNING) << "SetRawAudioSink: no recv stream" << ssrc; | 2510 LOG(LS_WARNING) << "SetRawAudioSink: no recv stream" << ssrc; |
| 2511 return; | 2511 return; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2546 } | 2546 } |
| 2547 } else { | 2547 } else { |
| 2548 LOG(LS_INFO) << "Stopping playout for channel #" << channel; | 2548 LOG(LS_INFO) << "Stopping playout for channel #" << channel; |
| 2549 engine()->voe()->base()->StopPlayout(channel); | 2549 engine()->voe()->base()->StopPlayout(channel); |
| 2550 } | 2550 } |
| 2551 return true; | 2551 return true; |
| 2552 } | 2552 } |
| 2553 } // namespace cricket | 2553 } // namespace cricket |
| 2554 | 2554 |
| 2555 #endif // HAVE_WEBRTC_VOICE | 2555 #endif // HAVE_WEBRTC_VOICE |
| OLD | NEW |