Set the event log in Channel from AudioSendStream. This will re-enable logging of outgoing audio packets.

BUG=webrtc:6195

Review-Url: https://codereview.webrtc.org/2226823003
Cr-Commit-Position: refs/heads/master@{#14331}
This commit is contained in:
terelius 2016-09-21 06:51:47 -07:00 committed by Commit bot
parent 0cb8828bce
commit e035e2d26f
4 changed files with 23 additions and 8 deletions

View File

@ -63,7 +63,8 @@ AudioSendStream::AudioSendStream(
const rtc::scoped_refptr<webrtc::AudioState>& audio_state,
rtc::TaskQueue* worker_queue,
CongestionController* congestion_controller,
BitrateAllocator* bitrate_allocator)
BitrateAllocator* bitrate_allocator,
RtcEventLog* event_log)
: worker_queue_(worker_queue),
config_(config),
audio_state_(audio_state),
@ -75,6 +76,7 @@ AudioSendStream::AudioSendStream(
VoiceEngineImpl* voe_impl = static_cast<VoiceEngineImpl*>(voice_engine());
channel_proxy_ = voe_impl->GetChannelProxy(config_.voe_channel_id);
channel_proxy_->SetRtcEventLog(event_log);
channel_proxy_->RegisterSenderCongestionControlObjects(
congestion_controller->pacer(),
congestion_controller->GetTransportFeedbackObserver(),
@ -107,6 +109,7 @@ AudioSendStream::~AudioSendStream() {
LOG(LS_INFO) << "~AudioSendStream: " << config_.ToString();
channel_proxy_->DeRegisterExternalTransport();
channel_proxy_->ResetCongestionControlObjects();
channel_proxy_->SetRtcEventLog(nullptr);
}
void AudioSendStream::Start() {

View File

@ -22,6 +22,7 @@
namespace webrtc {
class CongestionController;
class VoiceEngine;
class RtcEventLog;
namespace voe {
class ChannelProxy;
@ -35,7 +36,8 @@ class AudioSendStream final : public webrtc::AudioSendStream,
const rtc::scoped_refptr<webrtc::AudioState>& audio_state,
rtc::TaskQueue* worker_queue,
CongestionController* congestion_controller,
BitrateAllocator* bitrate_allocator);
BitrateAllocator* bitrate_allocator,
RtcEventLog* event_log);
~AudioSendStream() override;
// webrtc::AudioSendStream implementation.

View File

@ -106,6 +106,10 @@ struct ConfigHelper {
.Times(1);
EXPECT_CALL(*channel_proxy_, DeRegisterExternalTransport())
.Times(1);
EXPECT_CALL(*channel_proxy_, SetRtcEventLog(testing::NotNull()))
.Times(1);
EXPECT_CALL(*channel_proxy_, SetRtcEventLog(testing::IsNull()))
.Times(1); // Destructor resets the event log
return channel_proxy_;
}));
stream_config_.voe_channel_id = kChannelId;
@ -128,6 +132,7 @@ struct ConfigHelper {
}
BitrateAllocator* bitrate_allocator() { return &bitrate_allocator_; }
rtc::TaskQueue* worker_queue() { return &worker_queue_; }
RtcEventLog* event_log() { return &event_log_; }
void SetupMockForSendTelephoneEvent() {
EXPECT_TRUE(channel_proxy_);
@ -210,14 +215,16 @@ TEST(AudioSendStreamTest, ConstructDestruct) {
ConfigHelper helper;
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
helper.congestion_controller(), helper.bitrate_allocator());
helper.congestion_controller(), helper.bitrate_allocator(),
helper.event_log());
}
TEST(AudioSendStreamTest, SendTelephoneEvent) {
ConfigHelper helper;
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
helper.congestion_controller(), helper.bitrate_allocator());
helper.congestion_controller(), helper.bitrate_allocator(),
helper.event_log());
helper.SetupMockForSendTelephoneEvent();
EXPECT_TRUE(send_stream.SendTelephoneEvent(kTelephoneEventPayloadType,
kTelephoneEventCode, kTelephoneEventDuration));
@ -227,7 +234,8 @@ TEST(AudioSendStreamTest, SetMuted) {
ConfigHelper helper;
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
helper.congestion_controller(), helper.bitrate_allocator());
helper.congestion_controller(), helper.bitrate_allocator(),
helper.event_log());
EXPECT_CALL(*helper.channel_proxy(), SetInputMute(true));
send_stream.SetMuted(true);
}
@ -236,7 +244,8 @@ TEST(AudioSendStreamTest, GetStats) {
ConfigHelper helper;
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
helper.congestion_controller(), helper.bitrate_allocator());
helper.congestion_controller(), helper.bitrate_allocator(),
helper.event_log());
helper.SetupMockForGetStats();
AudioSendStream::Stats stats = send_stream.GetStats();
EXPECT_EQ(kSsrc, stats.local_ssrc);
@ -265,7 +274,8 @@ TEST(AudioSendStreamTest, GetStatsTypingNoiseDetected) {
ConfigHelper helper;
internal::AudioSendStream send_stream(
helper.config(), helper.audio_state(), helper.worker_queue(),
helper.congestion_controller(), helper.bitrate_allocator());
helper.congestion_controller(), helper.bitrate_allocator(),
helper.event_log());
helper.SetupMockForGetStats();
EXPECT_FALSE(send_stream.GetStats().typing_noise_detected);

View File

@ -380,7 +380,7 @@ webrtc::AudioSendStream* Call::CreateAudioSendStream(
RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
AudioSendStream* send_stream = new AudioSendStream(
config, config_.audio_state, &worker_queue_, congestion_controller_.get(),
bitrate_allocator_.get());
bitrate_allocator_.get(), event_log_.get());
{
WriteLockScoped write_lock(*send_crit_);
RTC_DCHECK(audio_send_ssrcs_.find(config.rtp.ssrc) ==