Remove VideoCodingModule::InitializeReceiver.
This code is no longer used to reset, so we can just initialize the object in the constructor. BUG=4391 R=stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/43249004 Cr-Commit-Position: refs/heads/master@{#9044}
This commit is contained in:
@@ -320,17 +320,6 @@ public:
|
|||||||
* Receiver
|
* Receiver
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// The receiver state of the VCM will be initialized to the
|
|
||||||
// same state as when the VCM was created. This will not interrupt
|
|
||||||
// or effect the send side functionality of VCM. VCM will lose all the
|
|
||||||
// decoding-related settings by calling this function. All frames
|
|
||||||
// inside the jitter buffer are flushed and the delay is reset.
|
|
||||||
// For instance, a receive codec has to be registered again.
|
|
||||||
//
|
|
||||||
// Return value : VCM_OK, on success.
|
|
||||||
// < 0, on error.
|
|
||||||
virtual int32_t InitializeReceiver() = 0;
|
|
||||||
|
|
||||||
// Register possible receive codecs, can be called multiple times for different codecs.
|
// Register possible receive codecs, can be called multiple times for different codecs.
|
||||||
// The module will automatically switch between registered codecs depending on the
|
// The module will automatically switch between registered codecs depending on the
|
||||||
// payload type of incoming frames. The actual decoder will be created when needed.
|
// payload type of incoming frames. The actual decoder will be created when needed.
|
||||||
|
@@ -35,7 +35,9 @@ VCMReceiver::VCMReceiver(VCMTiming* timing,
|
|||||||
timing_(timing),
|
timing_(timing),
|
||||||
render_wait_event_(event_factory->CreateEvent()),
|
render_wait_event_(event_factory->CreateEvent()),
|
||||||
state_(kPassive),
|
state_(kPassive),
|
||||||
max_video_delay_ms_(kMaxVideoDelayMs) {}
|
max_video_delay_ms_(kMaxVideoDelayMs) {
|
||||||
|
Reset();
|
||||||
|
}
|
||||||
|
|
||||||
VCMReceiver::~VCMReceiver() {
|
VCMReceiver::~VCMReceiver() {
|
||||||
render_wait_event_->Set();
|
render_wait_event_->Set();
|
||||||
@@ -52,11 +54,6 @@ void VCMReceiver::Reset() {
|
|||||||
state_ = kReceiving;
|
state_ = kReceiving;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t VCMReceiver::Initialize() {
|
|
||||||
Reset();
|
|
||||||
return VCM_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
void VCMReceiver::UpdateRtt(int64_t rtt) {
|
void VCMReceiver::UpdateRtt(int64_t rtt) {
|
||||||
jitter_buffer_.UpdateRtt(rtt);
|
jitter_buffer_.UpdateRtt(rtt);
|
||||||
}
|
}
|
||||||
|
@@ -43,7 +43,6 @@ class VCMReceiver {
|
|||||||
~VCMReceiver();
|
~VCMReceiver();
|
||||||
|
|
||||||
void Reset();
|
void Reset();
|
||||||
int32_t Initialize();
|
|
||||||
void UpdateRtt(int64_t rtt);
|
void UpdateRtt(int64_t rtt);
|
||||||
int32_t InsertPacket(const VCMPacket& packet,
|
int32_t InsertPacket(const VCMPacket& packet,
|
||||||
uint16_t frame_width,
|
uint16_t frame_width,
|
||||||
|
@@ -206,10 +206,6 @@ class VideoCodingModuleImpl : public VideoCodingModule {
|
|||||||
|
|
||||||
bool VideoSuspended() const override { return sender_->VideoSuspended(); }
|
bool VideoSuspended() const override { return sender_->VideoSuspended(); }
|
||||||
|
|
||||||
int32_t InitializeReceiver() override {
|
|
||||||
return receiver_->InitializeReceiver();
|
|
||||||
}
|
|
||||||
|
|
||||||
int32_t RegisterReceiveCodec(const VideoCodec* receiveCodec,
|
int32_t RegisterReceiveCodec(const VideoCodec* receiveCodec,
|
||||||
int32_t numberOfCores,
|
int32_t numberOfCores,
|
||||||
bool requireKeyFrame) override {
|
bool requireKeyFrame) override {
|
||||||
|
@@ -148,7 +148,6 @@ class VideoReceiver {
|
|||||||
VideoReceiver(Clock* clock, EventFactory* event_factory);
|
VideoReceiver(Clock* clock, EventFactory* event_factory);
|
||||||
~VideoReceiver();
|
~VideoReceiver();
|
||||||
|
|
||||||
int32_t InitializeReceiver();
|
|
||||||
int32_t RegisterReceiveCodec(const VideoCodec* receiveCodec,
|
int32_t RegisterReceiveCodec(const VideoCodec* receiveCodec,
|
||||||
int32_t numberOfCores,
|
int32_t numberOfCores,
|
||||||
bool requireKeyFrame);
|
bool requireKeyFrame);
|
||||||
|
@@ -37,7 +37,6 @@ class VCMRobustnessTest : public ::testing::Test {
|
|||||||
ASSERT_TRUE(clock_.get() != NULL);
|
ASSERT_TRUE(clock_.get() != NULL);
|
||||||
vcm_ = VideoCodingModule::Create(clock_.get(), &event_factory_);
|
vcm_ = VideoCodingModule::Create(clock_.get(), &event_factory_);
|
||||||
ASSERT_TRUE(vcm_ != NULL);
|
ASSERT_TRUE(vcm_ != NULL);
|
||||||
ASSERT_EQ(0, vcm_->InitializeReceiver());
|
|
||||||
const size_t kMaxNackListSize = 250;
|
const size_t kMaxNackListSize = 250;
|
||||||
const int kMaxPacketAgeToNack = 450;
|
const int kMaxPacketAgeToNack = 450;
|
||||||
vcm_->SetNackSettings(kMaxNackListSize, kMaxPacketAgeToNack, 0);
|
vcm_->SetNackSettings(kMaxNackListSize, kMaxPacketAgeToNack, 0);
|
||||||
|
@@ -245,34 +245,6 @@ int32_t VideoReceiver::SetVideoProtection(VCMVideoProtection videoProtection,
|
|||||||
return VCM_OK;
|
return VCM_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize receiver, resets codec database etc
|
|
||||||
int32_t VideoReceiver::InitializeReceiver() {
|
|
||||||
int32_t ret = _receiver.Initialize();
|
|
||||||
if (ret < 0) {
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
CriticalSectionScoped receive_cs(_receiveCritSect);
|
|
||||||
_codecDataBase.ResetReceiver();
|
|
||||||
_timing.Reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
CriticalSectionScoped process_cs(process_crit_sect_.get());
|
|
||||||
_decoder = NULL;
|
|
||||||
_decodedFrameCallback.SetUserReceiveCallback(NULL);
|
|
||||||
_frameTypeCallback = NULL;
|
|
||||||
_receiveStatsCallback = NULL;
|
|
||||||
_decoderTimingCallback = NULL;
|
|
||||||
_packetRequestCallback = NULL;
|
|
||||||
_keyRequestMode = kKeyOnError;
|
|
||||||
_scheduleKeyRequest = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return VCM_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Register a receive callback. Will be called whenever there is a new frame
|
// Register a receive callback. Will be called whenever there is a new frame
|
||||||
// ready for rendering.
|
// ready for rendering.
|
||||||
int32_t VideoReceiver::RegisterReceiveCallback(
|
int32_t VideoReceiver::RegisterReceiveCallback(
|
||||||
@@ -486,7 +458,7 @@ int32_t VideoReceiver::ResetDecoder() {
|
|||||||
{
|
{
|
||||||
CriticalSectionScoped cs(_receiveCritSect);
|
CriticalSectionScoped cs(_receiveCritSect);
|
||||||
if (_decoder != NULL) {
|
if (_decoder != NULL) {
|
||||||
_receiver.Initialize();
|
_receiver.Reset();
|
||||||
_timing.Reset();
|
_timing.Reset();
|
||||||
reset_key_request = true;
|
reset_key_request = true;
|
||||||
_decoder->Reset();
|
_decoder->Reset();
|
||||||
|
@@ -34,10 +34,8 @@ class TestVideoReceiver : public ::testing::Test {
|
|||||||
|
|
||||||
virtual void SetUp() {
|
virtual void SetUp() {
|
||||||
receiver_.reset(new VideoReceiver(&clock_, &event_factory_));
|
receiver_.reset(new VideoReceiver(&clock_, &event_factory_));
|
||||||
EXPECT_EQ(0, receiver_->InitializeReceiver());
|
EXPECT_EQ(0, receiver_->RegisterExternalDecoder(&decoder_,
|
||||||
EXPECT_EQ(0,
|
kUnusedPayloadType, true));
|
||||||
receiver_->RegisterExternalDecoder(
|
|
||||||
&decoder_, kUnusedPayloadType, true));
|
|
||||||
const size_t kMaxNackListSize = 250;
|
const size_t kMaxNackListSize = 250;
|
||||||
const int kMaxPacketAgeToNack = 450;
|
const int kMaxPacketAgeToNack = 450;
|
||||||
receiver_->SetNackSettings(kMaxNackListSize, kMaxPacketAgeToNack, 0);
|
receiver_->SetNackSettings(kMaxNackListSize, kMaxPacketAgeToNack, 0);
|
||||||
|
@@ -134,9 +134,6 @@ PayloadSinkInterface* VcmPayloadSinkFactory::Create(
|
|||||||
if (vcm.get() == NULL) {
|
if (vcm.get() == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (vcm->InitializeReceiver() < 0) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
const PayloadTypes& plt = stream->payload_types();
|
const PayloadTypes& plt = stream->payload_types();
|
||||||
for (PayloadTypesIterator it = plt.begin(); it != plt.end();
|
for (PayloadTypesIterator it = plt.begin(); it != plt.end();
|
||||||
|
@@ -163,9 +163,6 @@ int32_t ViEChannel::Init() {
|
|||||||
send_payload_router_->SetSendingRtpModules(send_rtp_modules);
|
send_payload_router_->SetSendingRtpModules(send_rtp_modules);
|
||||||
DCHECK(!send_payload_router_->active());
|
DCHECK(!send_payload_router_->active());
|
||||||
}
|
}
|
||||||
if (vcm_->InitializeReceiver() != 0) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (vcm_->SetVideoProtection(kProtectionKeyOnLoss, true)) {
|
if (vcm_->SetVideoProtection(kProtectionKeyOnLoss, true)) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user