Remove more unused tsan suppressions and fix call test passing the same decoder to multiple received streams.
R=pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/12949004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6651 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
91f1752f2d
commit
7ae9108b60
@ -78,20 +78,6 @@ char kTSanDefaultSuppressions[] =
|
||||
"deadlock:webrtc::ViEEncoder::OnLocalSsrcChanged\n"
|
||||
"deadlock:webrtc::ViESender::RegisterSendTransport\n"
|
||||
|
||||
// From Chromium's tsan_suppressions.cc file.
|
||||
|
||||
// http://crbug.com/244774
|
||||
"race:webrtc::RTPReceiver::ProcessBitrate\n"
|
||||
"race:webrtc::RTPSender::ProcessBitrate\n"
|
||||
"race:webrtc::VideoCodingModuleImpl::Decode\n"
|
||||
"race:webrtc::RTPSender::SendOutgoingData\n"
|
||||
"race:webrtc::VP8EncoderImpl::GetEncodedPartitions\n"
|
||||
"race:webrtc::VP8EncoderImpl::Encode\n"
|
||||
"race:webrtc::ViEEncoder::DeliverFrame\n"
|
||||
"race:webrtc::vcm::VideoReceiver::Decode\n"
|
||||
"race:webrtc::VCMReceiver::FrameForDecoding\n"
|
||||
"race:*trace_event_unique_catstatic*\n"
|
||||
|
||||
// End of suppressions.
|
||||
; // Please keep this semicolon.
|
||||
|
||||
|
@ -100,18 +100,23 @@ void CallTest::CreateSendConfig(size_t num_streams) {
|
||||
void CallTest::CreateMatchingReceiveConfigs() {
|
||||
assert(!send_config_.rtp.ssrcs.empty());
|
||||
assert(receive_configs_.empty());
|
||||
assert(fake_decoders_.empty());
|
||||
VideoReceiveStream::Config config;
|
||||
VideoCodec codec =
|
||||
test::CreateDecoderVideoCodec(send_config_.encoder_settings);
|
||||
config.codecs.push_back(codec);
|
||||
if (send_config_.encoder_settings.encoder == &fake_encoder_) {
|
||||
ExternalVideoDecoder decoder;
|
||||
decoder.decoder = &fake_decoder_;
|
||||
decoder.payload_type = send_config_.encoder_settings.payload_type;
|
||||
config.external_decoders.push_back(decoder);
|
||||
}
|
||||
config.rtp.local_ssrc = kReceiverLocalSsrc;
|
||||
if (send_config_.encoder_settings.encoder == &fake_encoder_) {
|
||||
config.external_decoders.resize(1);
|
||||
config.external_decoders[0].payload_type =
|
||||
send_config_.encoder_settings.payload_type;
|
||||
}
|
||||
for (size_t i = 0; i < send_config_.rtp.ssrcs.size(); ++i) {
|
||||
if (send_config_.encoder_settings.encoder == &fake_encoder_) {
|
||||
FakeDecoder* decoder = new FakeDecoder();
|
||||
fake_decoders_.push_back(decoder);
|
||||
config.external_decoders[0].decoder = decoder;
|
||||
}
|
||||
config.rtp.remote_ssrc = send_config_.rtp.ssrcs[i];
|
||||
receive_configs_.push_back(config);
|
||||
}
|
||||
@ -146,6 +151,7 @@ void CallTest::DestroyStreams() {
|
||||
for (size_t i = 0; i < receive_streams_.size(); ++i)
|
||||
receiver_call_->DestroyVideoReceiveStream(receive_streams_[i]);
|
||||
receive_streams_.clear();
|
||||
fake_decoders_.clear();
|
||||
}
|
||||
|
||||
const unsigned int CallTest::kDefaultTimeoutMs = 30 * 1000;
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "webrtc/call.h"
|
||||
#include "webrtc/system_wrappers/interface/scoped_vector.h"
|
||||
#include "webrtc/test/fake_decoder.h"
|
||||
#include "webrtc/test/fake_encoder.h"
|
||||
#include "webrtc/test/frame_generator_capturer.h"
|
||||
@ -72,7 +73,7 @@ class CallTest : public ::testing::Test {
|
||||
|
||||
scoped_ptr<test::FrameGeneratorCapturer> frame_generator_capturer_;
|
||||
test::FakeEncoder fake_encoder_;
|
||||
test::FakeDecoder fake_decoder_;
|
||||
ScopedVector<test::FakeDecoder> fake_decoders_;
|
||||
};
|
||||
|
||||
class BaseTest : public RtpRtcpObserver {
|
||||
|
Loading…
x
Reference in New Issue
Block a user