Revert of Remove ignored return code from modules. (patchset #3 id:40001 of https://codereview.webrtc.org/1703833002/ ) Reason for revert: Breaks Chromium. Original issue's description: > Remove ignored return code from modules. > > ModuleProcessImpl doesn't act on return codes and having them around is > confusing (it's unclear what an error return code here would do even). > > BUG= > R=tommi@webrtc.org > > Committed: https://chromium.googlesource.com/external/webrtc/+/f14c47a58cb2a333cb9b11aef593f0e632fdb28a TBR=tommi@webrtc.org,pbos@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.webrtc.org/1736663004 Cr-Commit-Position: refs/heads/master@{#11761}
diff --git a/webrtc/api/test/fakeaudiocapturemodule.cc b/webrtc/api/test/fakeaudiocapturemodule.cc index 0b6478e..b85f30b 100644 --- a/webrtc/api/test/fakeaudiocapturemodule.cc +++ b/webrtc/api/test/fakeaudiocapturemodule.cc
@@ -85,8 +85,9 @@ return kAdmMaxIdleTimeProcess - elapsed_time; } -void FakeAudioCaptureModule::Process() { +int32_t FakeAudioCaptureModule::Process() { last_process_time_ms_ = rtc::Time(); + return 0; } int32_t FakeAudioCaptureModule::ActiveAudioLayer(
diff --git a/webrtc/api/test/fakeaudiocapturemodule.h b/webrtc/api/test/fakeaudiocapturemodule.h index 9200bdf..c27d02d 100644 --- a/webrtc/api/test/fakeaudiocapturemodule.h +++ b/webrtc/api/test/fakeaudiocapturemodule.h
@@ -56,7 +56,7 @@ // nothing and return success. If a function is not expected to be called by // PeerConnection an assertion is triggered if it is in fact called. int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; int32_t ActiveAudioLayer(AudioLayer* audio_layer) const override;
diff --git a/webrtc/api/test/fakeaudiocapturemodule_unittest.cc b/webrtc/api/test/fakeaudiocapturemodule_unittest.cc index 2c5730a..1611b81 100644 --- a/webrtc/api/test/fakeaudiocapturemodule_unittest.cc +++ b/webrtc/api/test/fakeaudiocapturemodule_unittest.cc
@@ -123,8 +123,8 @@ // Next process call must be some time in the future (or now). EXPECT_LE(0, fake_audio_capture_module_->TimeUntilNextProcess()); // Process call updates TimeUntilNextProcess() but there are no guarantees on - // timing so just check that Process can be called successfully. - fake_audio_capture_module_->Process(); + // timing so just check that Process can ba called successfully. + EXPECT_LE(0, fake_audio_capture_module_->Process()); } TEST_F(FakeAdmTest, PlayoutTest) {
diff --git a/webrtc/media/engine/fakewebrtcvideocapturemodule.h b/webrtc/media/engine/fakewebrtcvideocapturemodule.h index 43f72b9..8c63d2b 100644 --- a/webrtc/media/engine/fakewebrtcvideocapturemodule.h +++ b/webrtc/media/engine/fakewebrtcvideocapturemodule.h
@@ -30,7 +30,7 @@ delay_(0) { } int64_t TimeUntilNextProcess() override { return 0; } - void Process() override {} + int32_t Process() override { return 0; } void RegisterCaptureDataCallback( webrtc::VideoCaptureDataCallback& callback) override { callback_ = &callback;
diff --git a/webrtc/modules/audio_conference_mixer/include/audio_conference_mixer.h b/webrtc/modules/audio_conference_mixer/include/audio_conference_mixer.h index 7b14f2f..7370442 100644 --- a/webrtc/modules/audio_conference_mixer/include/audio_conference_mixer.h +++ b/webrtc/modules/audio_conference_mixer/include/audio_conference_mixer.h
@@ -40,7 +40,7 @@ // Module functions int64_t TimeUntilNextProcess() override = 0; - void Process() override = 0; + int32_t Process() override = 0; // Register/unregister a callback class for receiving the mixed audio. virtual int32_t RegisterMixedStreamCallback(
diff --git a/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.cc b/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.cc index 1d76025..9411a9a 100644 --- a/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.cc +++ b/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.cc
@@ -189,7 +189,7 @@ return timeUntilNextProcess; } -void AudioConferenceMixerImpl::Process() { +int32_t AudioConferenceMixerImpl::Process() { size_t remainingParticipantsAllowedToMix = kMaximumAmountOfMixedParticipants; { @@ -222,7 +222,7 @@ if(lowFreq <= 0) { CriticalSectionScoped cs(_crit.get()); _processCalls--; - return; + return 0; } else { switch(lowFreq) { case 8000: @@ -250,7 +250,7 @@ CriticalSectionScoped cs(_crit.get()); _processCalls--; - return; + return -1; } } @@ -267,9 +267,10 @@ WEBRTC_TRACE(kTraceMemory, kTraceAudioMixerServer, _id, "failed PopMemory() call"); assert(false); - return; + return -1; } + int retval = 0; { CriticalSectionScoped cs(_crit.get()); @@ -303,7 +304,8 @@ mixedAudio->Mute(); } else { // Only call the limiter if we have something to mix. - LimitMixedAudio(mixedAudio); + if(!LimitMixedAudio(mixedAudio)) + retval = -1; } } @@ -328,7 +330,7 @@ CriticalSectionScoped cs(_crit.get()); _processCalls--; } - return; + return retval; } int32_t AudioConferenceMixerImpl::RegisterMixedStreamCallback(
diff --git a/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.h b/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.h index 13d30c3..0fab84b 100644 --- a/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.h +++ b/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.h
@@ -64,7 +64,7 @@ // Module functions int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; // AudioConferenceMixer functions int32_t RegisterMixedStreamCallback(
diff --git a/webrtc/modules/audio_conference_mixer/test/audio_conference_mixer_unittest.cc b/webrtc/modules/audio_conference_mixer/test/audio_conference_mixer_unittest.cc index f393e0f..293bfa0 100644 --- a/webrtc/modules/audio_conference_mixer/test/audio_conference_mixer_unittest.cc +++ b/webrtc/modules/audio_conference_mixer/test/audio_conference_mixer_unittest.cc
@@ -145,7 +145,7 @@ EXPECT_CALL(output_receiver, NewMixedAudio(_, _, _, _)) .Times(AtLeast(1)); - mixer->Process(); + EXPECT_EQ(0, mixer->Process()); for (int i = 0; i < kParticipants; ++i) { bool is_mixed = participants[i].IsMixed();
diff --git a/webrtc/modules/audio_device/audio_device_impl.cc b/webrtc/modules/audio_device/audio_device_impl.cc index 6496f5ef..a11c496 100644 --- a/webrtc/modules/audio_device/audio_device_impl.cc +++ b/webrtc/modules/audio_device/audio_device_impl.cc
@@ -427,7 +427,7 @@ // new reports exists. // ---------------------------------------------------------------------------- -void AudioDeviceModuleImpl::Process() +int32_t AudioDeviceModuleImpl::Process() { _lastProcessTime = TickTime::MillisecondTimestamp(); @@ -479,6 +479,8 @@ } _ptrAudioDevice->ClearRecordingError(); } + + return 0; } // ============================================================================
diff --git a/webrtc/modules/audio_device/audio_device_impl.h b/webrtc/modules/audio_device/audio_device_impl.h index d7c48ab..c7312bf 100644 --- a/webrtc/modules/audio_device/audio_device_impl.h +++ b/webrtc/modules/audio_device/audio_device_impl.h
@@ -45,7 +45,7 @@ virtual ~AudioDeviceModuleImpl(); int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; // Factory methods (resource allocation/deallocation) static AudioDeviceModule* Create(
diff --git a/webrtc/modules/audio_device/include/fake_audio_device.h b/webrtc/modules/audio_device/include/fake_audio_device.h index 45bf45c..8b15479 100644 --- a/webrtc/modules/audio_device/include/fake_audio_device.h +++ b/webrtc/modules/audio_device/include/fake_audio_device.h
@@ -37,7 +37,7 @@ virtual int32_t SetAGC(bool enable) { return 0; } virtual int32_t StopRecording() { return 0; } virtual int64_t TimeUntilNextProcess() { return 0; } - virtual void Process() {} + virtual int32_t Process() { return 0; } virtual int32_t Terminate() { return 0; } virtual int32_t ActiveAudioLayer(AudioLayer* audioLayer) const { return 0; }
diff --git a/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc b/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc index bf60878..72a5ff5 100644 --- a/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc +++ b/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc
@@ -162,15 +162,16 @@ kBitrateControllerUpdateIntervalMs - time_since_update_ms, 0); } -void BitrateControllerImpl::Process() { +int32_t BitrateControllerImpl::Process() { if (TimeUntilNextProcess() > 0) - return; + return 0; { rtc::CritScope cs(&critsect_); bandwidth_estimation_.UpdateEstimate(clock_->TimeInMilliseconds()); } MaybeTriggerOnNetworkChanged(); last_bitrate_update_ms_ = clock_->TimeInMilliseconds(); + return 0; } void BitrateControllerImpl::OnReceivedRtcpReceiverReport(
diff --git a/webrtc/modules/bitrate_controller/bitrate_controller_impl.h b/webrtc/modules/bitrate_controller/bitrate_controller_impl.h index da42b4c..74f3c14 100644 --- a/webrtc/modules/bitrate_controller/bitrate_controller_impl.h +++ b/webrtc/modules/bitrate_controller/bitrate_controller_impl.h
@@ -45,7 +45,7 @@ void SetEventLog(RtcEventLog* event_log) override; int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; private: class RtcpBandwidthObserverImpl;
diff --git a/webrtc/modules/bitrate_controller/include/mock/mock_bitrate_controller.h b/webrtc/modules/bitrate_controller/include/mock/mock_bitrate_controller.h index 45b596a..8748696 100644 --- a/webrtc/modules/bitrate_controller/include/mock/mock_bitrate_controller.h +++ b/webrtc/modules/bitrate_controller/include/mock/mock_bitrate_controller.h
@@ -36,7 +36,7 @@ MOCK_CONST_METHOD1(AvailableBandwidth, bool(uint32_t* bandwidth)); MOCK_METHOD1(SetReservedBitrate, void(uint32_t reserved_bitrate_bps)); - MOCK_METHOD0(Process, void()); + MOCK_METHOD0(Process, int()); MOCK_METHOD0(TimeUntilNextProcess, int64_t()); }; } // namespace test
diff --git a/webrtc/modules/congestion_controller/congestion_controller.cc b/webrtc/modules/congestion_controller/congestion_controller.cc index f9e7e01..50074d5 100644 --- a/webrtc/modules/congestion_controller/congestion_controller.cc +++ b/webrtc/modules/congestion_controller/congestion_controller.cc
@@ -53,9 +53,9 @@ rbe_->IncomingPacket(arrival_time_ms, payload_size, header, was_paced); } - void Process() override { + int32_t Process() override { CriticalSectionScoped cs(crit_sect_.get()); - rbe_->Process(); + return rbe_->Process(); } int64_t TimeUntilNextProcess() override { @@ -241,9 +241,10 @@ remote_bitrate_estimator_->TimeUntilNextProcess()); } -void CongestionController::Process() { +int32_t CongestionController::Process() { bitrate_controller_->Process(); remote_bitrate_estimator_->Process(); + return 0; } } // namespace webrtc
diff --git a/webrtc/modules/congestion_controller/include/congestion_controller.h b/webrtc/modules/congestion_controller/include/congestion_controller.h index 2c0b2e3..f4381e2 100644 --- a/webrtc/modules/congestion_controller/include/congestion_controller.h +++ b/webrtc/modules/congestion_controller/include/congestion_controller.h
@@ -65,7 +65,7 @@ // Implements Module. int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; private: Clock* const clock_;
diff --git a/webrtc/modules/include/module.h b/webrtc/modules/include/module.h index 432ed40..d02aa95 100644 --- a/webrtc/modules/include/module.h +++ b/webrtc/modules/include/module.h
@@ -32,7 +32,7 @@ // Process any pending tasks such as timeouts. // Called on a worker thread. - virtual void Process() = 0; + virtual int32_t Process() = 0; // This method is called when the module is attached to a *running* process // thread or detached from one. In the case of detaching, |process_thread|
diff --git a/webrtc/modules/media_file/media_file_impl.cc b/webrtc/modules/media_file/media_file_impl.cc index 76bcca7..abc7b9d 100644 --- a/webrtc/modules/media_file/media_file_impl.cc +++ b/webrtc/modules/media_file/media_file_impl.cc
@@ -95,10 +95,11 @@ return -1; } -void MediaFileImpl::Process() +int32_t MediaFileImpl::Process() { WEBRTC_TRACE(kTraceWarning, kTraceFile, _id, "Process: This method is not used by MediaFile class."); + return -1; } int32_t MediaFileImpl::PlayoutAudioData(int8_t* buffer,
diff --git a/webrtc/modules/media_file/media_file_impl.h b/webrtc/modules/media_file/media_file_impl.h index 677098e..c23f514 100644 --- a/webrtc/modules/media_file/media_file_impl.h +++ b/webrtc/modules/media_file/media_file_impl.h
@@ -26,7 +26,7 @@ MediaFileImpl(const int32_t id); ~MediaFileImpl(); - void Process() override; + int32_t Process() override; int64_t TimeUntilNextProcess() override; // MediaFile functions
diff --git a/webrtc/modules/pacing/paced_sender.cc b/webrtc/modules/pacing/paced_sender.cc index 6998650..c32d365 100644 --- a/webrtc/modules/pacing/paced_sender.cc +++ b/webrtc/modules/pacing/paced_sender.cc
@@ -373,7 +373,7 @@ return std::max<int64_t>(kMinPacketLimitMs - elapsed_time_ms, 0); } -void PacedSender::Process() { +int32_t PacedSender::Process() { int64_t now_us = clock_->TimeInMicroseconds(); CriticalSectionScoped cs(critsect_.get()); int64_t elapsed_time_ms = (now_us - time_last_update_us_ + 500) / 1000; @@ -402,7 +402,7 @@ } while (!packets_->Empty()) { if (media_budget_->bytes_remaining() == 0 && !prober_->IsProbing()) - return; + return 0; // Since we need to release the lock in order to send, we first pop the // element from the priority queue but keep it in storage, so that we can @@ -413,17 +413,17 @@ // Send succeeded, remove it from the queue. packets_->FinalizePop(packet); if (prober_->IsProbing()) - return; + return 0; } else { // Send failed, put it back into the queue. packets_->CancelPop(packet); - return; + return 0; } } // TODO(holmer): Remove the paused_ check when issue 5307 has been fixed. if (paused_ || !packets_->Empty()) - return; + return 0; size_t padding_needed; if (prober_->IsProbing()) { @@ -434,6 +434,7 @@ if (padding_needed > 0) SendPadding(static_cast<size_t>(padding_needed)); + return 0; } bool PacedSender::SendPacket(const paced_sender::Packet& packet) {
diff --git a/webrtc/modules/pacing/paced_sender.h b/webrtc/modules/pacing/paced_sender.h index e2c757d..62e794f 100644 --- a/webrtc/modules/pacing/paced_sender.h +++ b/webrtc/modules/pacing/paced_sender.h
@@ -122,7 +122,7 @@ int64_t TimeUntilNextProcess() override; // Process any pending packets in the queue(s). - void Process() override; + int32_t Process() override; private: // Updates the number of bytes that can be sent for the next time interval.
diff --git a/webrtc/modules/pacing/paced_sender_unittest.cc b/webrtc/modules/pacing/paced_sender_unittest.cc index 2c13833..70ffc75 100644 --- a/webrtc/modules/pacing/paced_sender_unittest.cc +++ b/webrtc/modules/pacing/paced_sender_unittest.cc
@@ -222,12 +222,12 @@ .Times(3) .WillRepeatedly(Return(true)); EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); - send_bucket_->Process(); + EXPECT_EQ(0, send_bucket_->Process()); } EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); clock_.AdvanceTimeMilliseconds(5); EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); - send_bucket_->Process(); + EXPECT_EQ(0, send_bucket_->Process()); SendAndExpectPacket(PacedSender::kNormalPriority, ssrc, sequence_number++, @@ -290,12 +290,12 @@ .WillRepeatedly(Return(true)); } EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); - send_bucket_->Process(); + EXPECT_EQ(0, send_bucket_->Process()); } EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); clock_.AdvanceTimeMilliseconds(5); EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); - send_bucket_->Process(); + EXPECT_EQ(0, send_bucket_->Process()); SendAndExpectPacket(PacedSender::kNormalPriority, ssrc, sequence_number++, @@ -373,7 +373,7 @@ EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); clock_.AdvanceTimeMilliseconds(5); EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); - send_bucket_->Process(); + EXPECT_EQ(0, send_bucket_->Process()); // 5 milliseconds later we have enough budget to send some padding. EXPECT_CALL(callback_, TimeToSendPadding(250)).Times(1). @@ -381,7 +381,7 @@ EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); clock_.AdvanceTimeMilliseconds(5); EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); - send_bucket_->Process(); + EXPECT_EQ(0, send_bucket_->Process()); } TEST_F(PacedSenderTest, VerifyPaddingUpToBitrate) { @@ -486,7 +486,7 @@ EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); clock_.AdvanceTimeMilliseconds(5); EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); - send_bucket_->Process(); + EXPECT_EQ(0, send_bucket_->Process()); EXPECT_CALL(callback_, TimeToSendPacket( @@ -497,7 +497,7 @@ EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); clock_.AdvanceTimeMilliseconds(5); EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); - send_bucket_->Process(); + EXPECT_EQ(0, send_bucket_->Process()); } TEST_F(PacedSenderTest, HighPrioDoesntAffectBudget) { @@ -587,7 +587,7 @@ for (int i = 0; i < 10; ++i) { clock_.AdvanceTimeMilliseconds(5); EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); - send_bucket_->Process(); + EXPECT_EQ(0, send_bucket_->Process()); } // Expect high prio packets to come out first followed by all packets in the // way they were added. @@ -602,7 +602,7 @@ EXPECT_EQ(5, send_bucket_->TimeUntilNextProcess()); clock_.AdvanceTimeMilliseconds(5); EXPECT_EQ(0, send_bucket_->TimeUntilNextProcess()); - send_bucket_->Process(); + EXPECT_EQ(0, send_bucket_->Process()); EXPECT_EQ(0, send_bucket_->QueueInMs()); }
diff --git a/webrtc/modules/remote_bitrate_estimator/include/mock/mock_remote_bitrate_estimator.h b/webrtc/modules/remote_bitrate_estimator/include/mock/mock_remote_bitrate_estimator.h index 2c35df8..588e1e7 100644 --- a/webrtc/modules/remote_bitrate_estimator/include/mock/mock_remote_bitrate_estimator.h +++ b/webrtc/modules/remote_bitrate_estimator/include/mock/mock_remote_bitrate_estimator.h
@@ -37,7 +37,7 @@ // From Module. MOCK_METHOD0(TimeUntilNextProcess, int64_t()); - MOCK_METHOD0(Process, void()); + MOCK_METHOD0(Process, int32_t()); MOCK_METHOD1(SetMinBitrate, void(int)); };
diff --git a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc index bf3fdc2..db54cab 100644 --- a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc +++ b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc
@@ -333,7 +333,9 @@ } } -void RemoteBitrateEstimatorAbsSendTime::Process() {} +int32_t RemoteBitrateEstimatorAbsSendTime::Process() { + return 0; +} int64_t RemoteBitrateEstimatorAbsSendTime::TimeUntilNextProcess() { const int64_t kDisabledModuleTime = 1000;
diff --git a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h index 39d3e03..69b7773 100644 --- a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h +++ b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
@@ -82,7 +82,7 @@ // every other second) for streams to be timed out properly. Therefore it // shouldn't be detached from the ProcessThread except if it's about to be // deleted. - void Process() override; + int32_t Process() override; int64_t TimeUntilNextProcess() override; void OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms) override; void RemoveStream(uint32_t ssrc) override;
diff --git a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc index 7d39b03..c1a4988 100644 --- a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc +++ b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
@@ -93,10 +93,10 @@ IncomingPacket(0, 1000, clock_.TimeInMilliseconds(), 0, 0, true); clock_.AdvanceTimeMilliseconds(kStreamTimeOutMs + 1); // Trigger timeout. - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); clock_.AdvanceTimeMilliseconds(kProcessIntervalMs); // This shouldn't crash. - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); } TEST_F(RemoteBitrateEstimatorAbsSendTimeTest, TestProbeDetection) { @@ -118,7 +118,7 @@ true); } - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); EXPECT_TRUE(bitrate_observer_->updated()); EXPECT_GT(bitrate_observer_->latest_bitrate(), 1500000u); } @@ -140,7 +140,7 @@ false); } - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); EXPECT_TRUE(bitrate_observer_->updated()); EXPECT_GT(bitrate_observer_->latest_bitrate(), 800000u); } @@ -171,7 +171,7 @@ AbsSendTime(send_time_ms, 1000), true); } - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); EXPECT_TRUE(bitrate_observer_->updated()); EXPECT_NEAR(bitrate_observer_->latest_bitrate(), 800000u, 10000); } @@ -191,7 +191,7 @@ AbsSendTime(send_time_ms, 1000), true); } - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); EXPECT_TRUE(bitrate_observer_->updated()); EXPECT_GT(bitrate_observer_->latest_bitrate(), 800000u); } @@ -210,7 +210,7 @@ AbsSendTime(send_time_ms, 1000), true); } - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); EXPECT_FALSE(bitrate_observer_->updated()); } @@ -228,7 +228,7 @@ AbsSendTime(send_time_ms, 1000), true); } - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); EXPECT_TRUE(bitrate_observer_->updated()); EXPECT_NEAR(bitrate_observer_->latest_bitrate(), 1140000, 10000); } @@ -248,7 +248,7 @@ AbsSendTime(send_time_ms, 1000), true); } - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); EXPECT_TRUE(bitrate_observer_->updated()); EXPECT_NEAR(bitrate_observer_->latest_bitrate(), 4000000u, 10000); } @@ -265,7 +265,7 @@ true); } - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); EXPECT_FALSE(bitrate_observer_->updated()); // Followed by a probe with 1000 bytes packets, should be detected as a @@ -280,7 +280,7 @@ // Wait long enough so that we can call Process again. clock_.AdvanceTimeMilliseconds(1000); - bitrate_estimator_->Process(); + EXPECT_EQ(0, bitrate_estimator_->Process()); EXPECT_TRUE(bitrate_observer_->updated()); EXPECT_NEAR(bitrate_observer_->latest_bitrate(), 800000u, 10000); }
diff --git a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc index 9a1bbc1..2b74043 100644 --- a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc +++ b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc
@@ -118,15 +118,16 @@ } } -void RemoteBitrateEstimatorSingleStream::Process() { +int32_t RemoteBitrateEstimatorSingleStream::Process() { if (TimeUntilNextProcess() > 0) { - return; + return 0; } { CriticalSectionScoped cs(crit_sect_.get()); UpdateEstimate(clock_->TimeInMilliseconds()); } last_process_time_ = clock_->TimeInMilliseconds(); + return 0; } int64_t RemoteBitrateEstimatorSingleStream::TimeUntilNextProcess() {
diff --git a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h index f3a208a..001311b 100644 --- a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h +++ b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h
@@ -31,7 +31,7 @@ size_t payload_size, const RTPHeader& header, bool was_paced) override; - void Process() override; + int32_t Process() override; int64_t TimeUntilNextProcess() override; void OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms) override; void RemoveStream(uint32_t ssrc) override;
diff --git a/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy.cc b/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy.cc index eace9fc..1703a27 100644 --- a/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy.cc +++ b/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy.cc
@@ -71,9 +71,9 @@ return time_until_next; } -void RemoteEstimatorProxy::Process() { +int32_t RemoteEstimatorProxy::Process() { if (TimeUntilNextProcess() > 0) - return; + return 0; last_process_time_ms_ = clock_->TimeInMilliseconds(); bool more_to_build = true; @@ -86,6 +86,8 @@ more_to_build = false; } } + + return 0; } void RemoteEstimatorProxy::OnPacketArrival(uint16_t sequence_number,
diff --git a/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy.h b/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy.h index 93d5244..7145543 100644 --- a/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy.h +++ b/webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy.h
@@ -47,7 +47,7 @@ void OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms) override {} void SetMinBitrate(int min_bitrate_bps) override {} int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; static const int kDefaultProcessIntervalMs; static const int kBackWindowMs;
diff --git a/webrtc/modules/remote_bitrate_estimator/test/bwe.cc b/webrtc/modules/remote_bitrate_estimator/test/bwe.cc index 5e282c6..c667b68 100644 --- a/webrtc/modules/remote_bitrate_estimator/test/bwe.cc +++ b/webrtc/modules/remote_bitrate_estimator/test/bwe.cc
@@ -67,7 +67,7 @@ int64_t TimeUntilNextProcess() override { return std::numeric_limits<int64_t>::max(); } - void Process() override {} + int Process() override { return 0; } private: RTC_DISALLOW_COPY_AND_ASSIGN(NullBweSender);
diff --git a/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc b/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc index b91ee6d..066b4b5 100644 --- a/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc +++ b/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc
@@ -238,7 +238,8 @@ return 100; } -void NadaBweSender::Process() { +int NadaBweSender::Process() { + return 0; } void NadaBweSender::AcceleratedRampUp(const NadaFeedback& fb) {
diff --git a/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.h b/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.h index ab45416..bf23d09 100644 --- a/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.h +++ b/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.h
@@ -71,7 +71,7 @@ void GiveFeedback(const FeedbackPacket& feedback) override; void OnPacketsSent(const Packets& packets) override {} int64_t TimeUntilNextProcess() override; - void Process() override; + int Process() override; void AcceleratedRampUp(const NadaFeedback& fb); void AcceleratedRampDown(const NadaFeedback& fb); void GradualRateUpdate(const NadaFeedback& fb,
diff --git a/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc b/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc index d469e67..3f049df 100644 --- a/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc +++ b/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc
@@ -53,8 +53,8 @@ return bitrate_controller_->TimeUntilNextProcess(); } -void RembBweSender::Process() { - bitrate_controller_->Process(); +int RembBweSender::Process() { + return bitrate_controller_->Process(); } int RembBweSender::GetFeedbackIntervalMs() const {
diff --git a/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.h b/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.h index 058873e..c6fddf7 100644 --- a/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.h +++ b/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.h
@@ -35,7 +35,7 @@ void GiveFeedback(const FeedbackPacket& feedback) override; void OnPacketsSent(const Packets& packets) override {} int64_t TimeUntilNextProcess() override; - void Process() override; + int Process() override; protected: rtc::scoped_ptr<BitrateController> bitrate_controller_;
diff --git a/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc b/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc index 36dff1f..c55bb1a 100644 --- a/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc +++ b/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc
@@ -110,9 +110,9 @@ return bitrate_controller_->TimeUntilNextProcess(); } -void FullBweSender::Process() { +int FullBweSender::Process() { rbe_->Process(); - bitrate_controller_->Process(); + return bitrate_controller_->Process(); } SendSideBweReceiver::SendSideBweReceiver(int flow_id)
diff --git a/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h b/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h index 9832eb2..57d0432 100644 --- a/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h +++ b/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h
@@ -31,7 +31,7 @@ void OnReceiveBitrateChanged(const std::vector<uint32_t>& ssrcs, uint32_t bitrate) override; int64_t TimeUntilNextProcess() override; - void Process() override; + int Process() override; protected: rtc::scoped_ptr<BitrateController> bitrate_controller_;
diff --git a/webrtc/modules/rtp_rtcp/include/receive_statistics.h b/webrtc/modules/rtp_rtcp/include/receive_statistics.h index cc21e22..b4a7cd0 100644 --- a/webrtc/modules/rtp_rtcp/include/receive_statistics.h +++ b/webrtc/modules/rtp_rtcp/include/receive_statistics.h
@@ -90,7 +90,7 @@ StatisticianMap GetActiveStatisticians() const override; StreamStatistician* GetStatistician(uint32_t ssrc) const override; int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; void SetMaxReorderingThreshold(int max_reordering_threshold) override; void RegisterRtcpStatisticsCallback( RtcpStatisticsCallback* callback) override;
diff --git a/webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h b/webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h index d4d6e14..796be13 100644 --- a/webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h +++ b/webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h
@@ -249,7 +249,7 @@ MOCK_METHOD0(TimeUntilNextProcess, int64_t()); MOCK_METHOD0(Process, - void()); + int32_t()); MOCK_METHOD1(RegisterSendFrameCountObserver, void(FrameCountObserver*)); MOCK_CONST_METHOD0(GetSendFrameCountObserver,
diff --git a/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.cc b/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.cc index 022fc96..24f1e2c 100644 --- a/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.cc +++ b/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.cc
@@ -454,13 +454,14 @@ } } -void ReceiveStatisticsImpl::Process() { +int32_t ReceiveStatisticsImpl::Process() { CriticalSectionScoped cs(receive_statistics_lock_.get()); for (StatisticianImplMap::iterator it = statisticians_.begin(); it != statisticians_.end(); ++it) { it->second->ProcessBitrate(); } last_rate_update_ms_ = clock_->TimeInMilliseconds(); + return 0; } int64_t ReceiveStatisticsImpl::TimeUntilNextProcess() { @@ -529,7 +530,7 @@ int64_t NullReceiveStatistics::TimeUntilNextProcess() { return 0; } -void NullReceiveStatistics::Process() {} +int32_t NullReceiveStatistics::Process() { return 0; } void NullReceiveStatistics::RegisterRtcpStatisticsCallback( RtcpStatisticsCallback* callback) {}
diff --git a/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.h b/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.h index 6da8334..025dcd4 100644 --- a/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.h +++ b/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.h
@@ -112,7 +112,7 @@ void SetMaxReorderingThreshold(int max_reordering_threshold) override; // Implement Module. - void Process() override; + int32_t Process() override; int64_t TimeUntilNextProcess() override; void RegisterRtcpStatisticsCallback(
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc index 7f33bc2..07889f9 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
@@ -118,7 +118,7 @@ } // Process any pending tasks such as timeouts (non time critical events). -void ModuleRtpRtcpImpl::Process() { +int32_t ModuleRtpRtcpImpl::Process() { const int64_t now = clock_->TimeInMilliseconds(); last_process_time_ = now; @@ -202,6 +202,7 @@ // A receiver has timed out rtcp_receiver_.UpdateTMMBR(); } + return 0; } void ModuleRtpRtcpImpl::SetRtxSendStatus(int mode) {
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.h b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.h index 8c211e4..3621f9b 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.h +++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.h
@@ -35,7 +35,7 @@ int64_t TimeUntilNextProcess() override; // Process any pending tasks such as timeouts. - void Process() override; + int32_t Process() override; // Receiver part.
diff --git a/webrtc/modules/utility/source/process_thread_impl_unittest.cc b/webrtc/modules/utility/source/process_thread_impl_unittest.cc index 4f70e8a..0b35fad 100644 --- a/webrtc/modules/utility/source/process_thread_impl_unittest.cc +++ b/webrtc/modules/utility/source/process_thread_impl_unittest.cc
@@ -28,7 +28,7 @@ class MockModule : public Module { public: MOCK_METHOD0(TimeUntilNextProcess, int64_t()); - MOCK_METHOD0(Process, void()); + MOCK_METHOD0(Process, int32_t()); MOCK_METHOD1(ProcessThreadAttached, void(ProcessThread*)); }; @@ -77,8 +77,8 @@ MockModule module; EXPECT_CALL(module, TimeUntilNextProcess()).WillRepeatedly(Return(0)); EXPECT_CALL(module, Process()) - .WillOnce(DoAll(SetEvent(event.get()), Return())) - .WillRepeatedly(Return()); + .WillOnce(DoAll(SetEvent(event.get()), Return(0))) + .WillRepeatedly(Return(0)); EXPECT_CALL(module, ProcessThreadAttached(&thread)).Times(1); thread.RegisterModule(&module); @@ -97,8 +97,8 @@ MockModule module; EXPECT_CALL(module, TimeUntilNextProcess()).WillRepeatedly(Return(0)); EXPECT_CALL(module, Process()) - .WillOnce(DoAll(SetEvent(event.get()), Return())) - .WillRepeatedly(Return()); + .WillOnce(DoAll(SetEvent(event.get()), Return(0))) + .WillRepeatedly(Return(0)); thread.RegisterModule(&module); @@ -122,8 +122,8 @@ EXPECT_CALL(module, Process()) .WillOnce(DoAll(SetEvent(event.get()), Increment(&process_count), - Return())) - .WillRepeatedly(DoAll(Increment(&process_count), Return())); + Return(0))) + .WillRepeatedly(DoAll(Increment(&process_count), Return(0))); thread.RegisterModule(&module); @@ -163,8 +163,8 @@ EXPECT_CALL(module, Process()) .WillOnce(DoAll(SetTimestamp(&called_time), SetEvent(event.get()), - Return())) - .WillRepeatedly(Return()); + Return(0))) + .WillRepeatedly(Return(0)); EXPECT_CALL(module, ProcessThreadAttached(&thread)).Times(1); thread.RegisterModule(&module); @@ -225,7 +225,7 @@ .WillRepeatedly(Return(20)); EXPECT_CALL(module, Process()) .WillRepeatedly(DoAll(Increment(&callback_count), - Return())); + Return(0))); EXPECT_CALL(module, ProcessThreadAttached(&thread)).Times(1); thread.RegisterModule(&module); @@ -269,9 +269,10 @@ Return(1000))) .WillOnce(Return(1000)); EXPECT_CALL(module, Process()) - .WillOnce( - DoAll(SetTimestamp(&called_time), SetEvent(called.get()), Return())) - .WillRepeatedly(Return()); + .WillOnce(DoAll(SetTimestamp(&called_time), + SetEvent(called.get()), + Return(0))) + .WillRepeatedly(Return(0)); EXPECT_CALL(module, ProcessThreadAttached(&thread)).Times(1); thread.RegisterModule(&module);
diff --git a/webrtc/modules/video_capture/video_capture_impl.cc b/webrtc/modules/video_capture/video_capture_impl.cc index 3013a7d..90730cd 100644 --- a/webrtc/modules/video_capture/video_capture_impl.cc +++ b/webrtc/modules/video_capture/video_capture_impl.cc
@@ -93,7 +93,7 @@ } // Process any pending tasks such as timeouts -void VideoCaptureImpl::Process() +int32_t VideoCaptureImpl::Process() { CriticalSectionScoped cs(&_callBackCs); @@ -136,6 +136,8 @@ } _lastProcessFrameCount = _incomingFrameTimes[0]; + + return 0; } VideoCaptureImpl::VideoCaptureImpl(const int32_t id)
diff --git a/webrtc/modules/video_capture/video_capture_impl.h b/webrtc/modules/video_capture/video_capture_impl.h index 4aa3939..1644217 100644 --- a/webrtc/modules/video_capture/video_capture_impl.h +++ b/webrtc/modules/video_capture/video_capture_impl.h
@@ -79,7 +79,7 @@ // Module handling virtual int64_t TimeUntilNextProcess(); - virtual void Process(); + virtual int32_t Process(); // Implement VideoCaptureExternal // |capture_time| must be specified in NTP time format in milliseconds.
diff --git a/webrtc/modules/video_coding/test/vcm_payload_sink_factory.cc b/webrtc/modules/video_coding/test/vcm_payload_sink_factory.cc index 88242fd..c9ec372 100644 --- a/webrtc/modules/video_coding/test/vcm_payload_sink_factory.cc +++ b/webrtc/modules/video_coding/test/vcm_payload_sink_factory.cc
@@ -74,7 +74,9 @@ bool Process() { if (vcm_->TimeUntilNextProcess() <= 0) { - vcm_->Process(); + if (vcm_->Process() < 0) { + return false; + } } return true; }
diff --git a/webrtc/modules/video_coding/video_coding_impl.cc b/webrtc/modules/video_coding/video_coding_impl.cc index 7d6d177..7f74b41 100644 --- a/webrtc/modules/video_coding/video_coding_impl.cc +++ b/webrtc/modules/video_coding/video_coding_impl.cc
@@ -94,9 +94,12 @@ return VCM_MIN(sender_time, receiver_time); } - void Process() override { - sender_.Process(); - receiver_.Process(); + int32_t Process() override { + int32_t sender_return = sender_.Process(); + int32_t receiver_return = receiver_.Process(); + if (sender_return != VCM_OK) + return sender_return; + return receiver_return; } int32_t RegisterSendCodec(const VideoCodec* sendCodec,
diff --git a/webrtc/modules/video_coding/video_coding_impl.h b/webrtc/modules/video_coding/video_coding_impl.h index dc766b1..581ab0e 100644 --- a/webrtc/modules/video_coding/video_coding_impl.h +++ b/webrtc/modules/video_coding/video_coding_impl.h
@@ -93,7 +93,7 @@ bool VideoSuspended() const; int64_t TimeUntilNextProcess(); - void Process(); + int32_t Process(); private: void SetEncoderParameters(EncoderParameters params) @@ -172,7 +172,7 @@ int32_t SetVideoProtection(VCMVideoProtection videoProtection, bool enable); int64_t TimeUntilNextProcess(); - void Process(); + int32_t Process(); void RegisterPreDecodeImageCallback(EncodedImageCallback* observer); void TriggerDecoderShutdown();
diff --git a/webrtc/modules/video_coding/video_coding_robustness_unittest.cc b/webrtc/modules/video_coding/video_coding_robustness_unittest.cc index eb5d485..51cffcd 100644 --- a/webrtc/modules/video_coding/video_coding_robustness_unittest.cc +++ b/webrtc/modules/video_coding/video_coding_robustness_unittest.cc
@@ -113,20 +113,20 @@ clock_->AdvanceTimeMilliseconds(10); - vcm_->Process(); + ASSERT_EQ(VCM_OK, vcm_->Process()); ASSERT_EQ(VCM_FRAME_NOT_READY, vcm_->Decode(0)); InsertPacket(6000, 8, false, true, kVideoFrameDelta); clock_->AdvanceTimeMilliseconds(10); - vcm_->Process(); + ASSERT_EQ(VCM_OK, vcm_->Process()); ASSERT_EQ(VCM_FRAME_NOT_READY, vcm_->Decode(0)); InsertPacket(6000, 6, true, false, kVideoFrameDelta); InsertPacket(6000, 7, false, false, kVideoFrameDelta); clock_->AdvanceTimeMilliseconds(10); - vcm_->Process(); + ASSERT_EQ(VCM_OK, vcm_->Process()); ASSERT_EQ(VCM_OK, vcm_->Decode(0)); } @@ -143,12 +143,12 @@ InsertPacket(3000, 5, false, true, kVideoFrameDelta); EXPECT_EQ(VCM_FRAME_NOT_READY, vcm_->Decode(0)); - vcm_->Process(); + ASSERT_EQ(VCM_OK, vcm_->Process()); clock_->AdvanceTimeMilliseconds(10); EXPECT_EQ(VCM_FRAME_NOT_READY, vcm_->Decode(0)); - vcm_->Process(); + ASSERT_EQ(VCM_OK, vcm_->Process()); } TEST_F(VCMRobustnessTest, TestModeNoneWithErrors) { @@ -195,25 +195,25 @@ InsertPacket(0, 1, false, false, kVideoFrameKey); InsertPacket(0, 2, false, true, kVideoFrameKey); EXPECT_EQ(VCM_OK, vcm_->Decode(33)); // Decode timestamp 0. - vcm_->Process(); + EXPECT_EQ(VCM_OK, vcm_->Process()); // Expect no NACK list. clock_->AdvanceTimeMilliseconds(33); InsertPacket(3000, 3, true, false, kVideoFrameDelta); // Packet 4 missing InsertPacket(3000, 5, false, true, kVideoFrameDelta); EXPECT_EQ(VCM_FRAME_NOT_READY, vcm_->Decode(0)); - vcm_->Process(); + EXPECT_EQ(VCM_OK, vcm_->Process()); // Expect no NACK list. clock_->AdvanceTimeMilliseconds(33); InsertPacket(6000, 6, true, false, kVideoFrameDelta); InsertPacket(6000, 7, false, false, kVideoFrameDelta); InsertPacket(6000, 8, false, true, kVideoFrameDelta); EXPECT_EQ(VCM_OK, vcm_->Decode(0)); // Decode timestamp 3000 incomplete. - vcm_->Process(); + EXPECT_EQ(VCM_OK, vcm_->Process()); // Expect no NACK list. clock_->AdvanceTimeMilliseconds(10); EXPECT_EQ(VCM_OK, vcm_->Decode(23)); // Decode timestamp 6000 complete. - vcm_->Process(); + EXPECT_EQ(VCM_OK, vcm_->Process()); // Expect no NACK list. clock_->AdvanceTimeMilliseconds(23); InsertPacket(3000, 4, false, false, kVideoFrameDelta);
diff --git a/webrtc/modules/video_coding/video_receiver.cc b/webrtc/modules/video_coding/video_receiver.cc index e7844d0..02d51a7 100644 --- a/webrtc/modules/video_coding/video_receiver.cc +++ b/webrtc/modules/video_coding/video_receiver.cc
@@ -63,7 +63,9 @@ #endif } -void VideoReceiver::Process() { +int32_t VideoReceiver::Process() { + int32_t returnValue = VCM_OK; + // Receive-side statistics if (_receiveStatsTimer.TimeUntilProcess() == 0) { _receiveStatsTimer.Processed(); @@ -106,8 +108,12 @@ CriticalSectionScoped cs(process_crit_sect_.get()); request_key_frame = _scheduleKeyRequest && _frameTypeCallback != NULL; } - if (request_key_frame) - RequestKeyFrame(); + if (request_key_frame) { + const int32_t ret = RequestKeyFrame(); + if (ret != VCM_OK && returnValue == VCM_OK) { + returnValue = ret; + } + } } // Packet retransmission requests @@ -129,6 +135,9 @@ int32_t ret = VCM_OK; if (request_key_frame) { ret = RequestKeyFrame(); + if (ret != VCM_OK && returnValue == VCM_OK) { + returnValue = ret; + } } if (ret == VCM_OK && !nackList.empty()) { CriticalSectionScoped cs(process_crit_sect_.get()); @@ -138,6 +147,8 @@ } } } + + return returnValue; } int64_t VideoReceiver::TimeUntilNextProcess() {
diff --git a/webrtc/modules/video_coding/video_receiver_unittest.cc b/webrtc/modules/video_coding/video_receiver_unittest.cc index 693fdc6..820ce9a 100644 --- a/webrtc/modules/video_coding/video_receiver_unittest.cc +++ b/webrtc/modules/video_coding/video_receiver_unittest.cc
@@ -52,7 +52,7 @@ EXPECT_EQ(0, receiver_->IncomingPacket(payload, 0, *header)); ++header->header.sequenceNumber; } - receiver_->Process(); + EXPECT_EQ(0, receiver_->Process()); EXPECT_CALL(decoder_, Decode(_, _, _, _, _)).Times(0); EXPECT_EQ(VCM_FRAME_NOT_READY, receiver_->Decode(100)); } @@ -64,7 +64,7 @@ EXPECT_EQ(0, receiver_->IncomingPacket(payload, length, *header)); ++header->header.sequenceNumber; EXPECT_CALL(packet_request_callback_, ResendPackets(_, _)).Times(0); - receiver_->Process();; + EXPECT_EQ(0, receiver_->Process()); EXPECT_CALL(decoder_, Decode(_, _, _, _, _)).Times(1); EXPECT_EQ(0, receiver_->Decode(100)); }
diff --git a/webrtc/modules/video_coding/video_sender.cc b/webrtc/modules/video_coding/video_sender.cc index d92ad45..f14f852 100644 --- a/webrtc/modules/video_coding/video_sender.cc +++ b/webrtc/modules/video_coding/video_sender.cc
@@ -53,7 +53,9 @@ VideoSender::~VideoSender() {} -void VideoSender::Process() { +int32_t VideoSender::Process() { + int32_t returnValue = VCM_OK; + if (_sendStatsTimer.TimeUntilProcess() == 0) { _sendStatsTimer.Processed(); CriticalSectionScoped cs(process_crit_sect_.get()); @@ -70,6 +72,8 @@ // updated even if bandwidth hasn't changed. encoder_params_.input_frame_rate = _mediaOpt.InputFrameRate(); } + + return returnValue; } int64_t VideoSender::TimeUntilNextProcess() {
diff --git a/webrtc/modules/video_render/video_render.h b/webrtc/modules/video_render/video_render.h index 84c9536..a193a18 100644 --- a/webrtc/modules/video_render/video_render.h +++ b/webrtc/modules/video_render/video_render.h
@@ -53,7 +53,7 @@ static void DestroyVideoRender(VideoRender* module); int64_t TimeUntilNextProcess() override = 0; - void Process() override = 0; + int32_t Process() override = 0; /************************************************************************** *
diff --git a/webrtc/modules/video_render/video_render_impl.cc b/webrtc/modules/video_render/video_render_impl.cc index 2f145a7..d2a074b 100644 --- a/webrtc/modules/video_render/video_render_impl.cc +++ b/webrtc/modules/video_render/video_render_impl.cc
@@ -119,7 +119,11 @@ // Not used return 50; } -void ModuleVideoRenderImpl::Process() {} +int32_t ModuleVideoRenderImpl::Process() +{ + // Not used + return 0; +} void* ModuleVideoRenderImpl::Window()
diff --git a/webrtc/modules/video_render/video_render_impl.h b/webrtc/modules/video_render/video_render_impl.h index 12244a6..ce93cea 100644 --- a/webrtc/modules/video_render/video_render_impl.h +++ b/webrtc/modules/video_render/video_render_impl.h
@@ -35,7 +35,7 @@ virtual ~ModuleVideoRenderImpl(); virtual int64_t TimeUntilNextProcess(); - virtual void Process(); + virtual int32_t Process(); /* * Returns the render window
diff --git a/webrtc/modules/video_render/video_render_internal_impl.cc b/webrtc/modules/video_render/video_render_internal_impl.cc index a9ae0b0..1fed26e 100644 --- a/webrtc/modules/video_render/video_render_internal_impl.cc +++ b/webrtc/modules/video_render/video_render_internal_impl.cc
@@ -299,7 +299,11 @@ // Not used return 50; } -void ModuleVideoRenderImpl::Process() {} +int32_t ModuleVideoRenderImpl::Process() +{ + // Not used + return 0; +} void* ModuleVideoRenderImpl::Window()
diff --git a/webrtc/video/call_stats.cc b/webrtc/video/call_stats.cc index 8874c2b..1ee4625 100644 --- a/webrtc/video/call_stats.cc +++ b/webrtc/video/call_stats.cc
@@ -109,11 +109,11 @@ return last_process_time_ + kUpdateIntervalMs - clock_->TimeInMilliseconds(); } -void CallStats::Process() { +int32_t CallStats::Process() { rtc::CritScope cs(&crit_); int64_t now = clock_->TimeInMilliseconds(); if (now < last_process_time_ + kUpdateIntervalMs) - return; + return 0; last_process_time_ = now; @@ -132,6 +132,7 @@ sum_avg_rtt_ms_ += avg_rtt_ms_; ++num_avg_rtt_; } + return 0; } int64_t CallStats::avg_rtt_ms() const {
diff --git a/webrtc/video/call_stats.h b/webrtc/video/call_stats.h index bb3670c..385f6ff 100644 --- a/webrtc/video/call_stats.h +++ b/webrtc/video/call_stats.h
@@ -34,7 +34,7 @@ // Implements Module, to use the process thread. int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; // Returns a RtcpRttStats to register at a statistics provider. The object // has the same lifetime as the CallStats instance.
diff --git a/webrtc/video/overuse_frame_detector.cc b/webrtc/video/overuse_frame_detector.cc index 18c6b9e..9f12137 100644 --- a/webrtc/video/overuse_frame_detector.cc +++ b/webrtc/video/overuse_frame_detector.cc
@@ -297,14 +297,14 @@ } } -void OveruseFrameDetector::Process() { +int32_t OveruseFrameDetector::Process() { RTC_DCHECK(processing_thread_.CalledOnValidThread()); int64_t now = clock_->TimeInMilliseconds(); // Used to protect against Process() being called too often. if (now < next_process_time_ms_) - return; + return 0; next_process_time_ms_ = now + kProcessIntervalMs; @@ -313,7 +313,7 @@ rtc::CritScope cs(&crit_); ++num_process_times_; if (num_process_times_ <= options_.min_process_count || !metrics_) - return; + return 0; current_metrics = *metrics_; } @@ -358,6 +358,8 @@ << " encode usage " << current_metrics.encode_usage_percent << " overuse detections " << num_overuse_detections_ << " rampup delay " << rampup_delay; + + return 0; } bool OveruseFrameDetector::IsOverusing(const CpuOveruseMetrics& metrics) {
diff --git a/webrtc/video/overuse_frame_detector.h b/webrtc/video/overuse_frame_detector.h index 43c9e28..80c9b55 100644 --- a/webrtc/video/overuse_frame_detector.h +++ b/webrtc/video/overuse_frame_detector.h
@@ -90,7 +90,7 @@ // Implements Module. int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; private: class SendProcessingUsage;
diff --git a/webrtc/video/vie_sync_module.cc b/webrtc/video/vie_sync_module.cc index f8376e5..dc924fb 100644 --- a/webrtc/video/vie_sync_module.cc +++ b/webrtc/video/vie_sync_module.cc
@@ -88,14 +88,14 @@ return kSyncIntervalMs - (TickTime::Now() - last_sync_time_).Milliseconds(); } -void ViESyncModule::Process() { +int32_t ViESyncModule::Process() { rtc::CritScope lock(&data_cs_); last_sync_time_ = TickTime::Now(); const int current_video_delay_ms = vcm_->Delay(); if (voe_channel_id_ == -1) { - return; + return 0; } assert(video_rtp_rtcp_ && voe_sync_interface_); assert(sync_.get()); @@ -105,7 +105,7 @@ if (voe_sync_interface_->GetDelayEstimate(voe_channel_id_, &audio_jitter_buffer_delay_ms, &playout_buffer_delay_ms) != 0) { - return; + return 0; } const int current_audio_delay_ms = audio_jitter_buffer_delay_ms + playout_buffer_delay_ms; @@ -114,26 +114,26 @@ RtpReceiver* voice_receiver = NULL; if (0 != voe_sync_interface_->GetRtpRtcp(voe_channel_id_, &voice_rtp_rtcp, &voice_receiver)) { - return; + return 0; } assert(voice_rtp_rtcp); assert(voice_receiver); if (UpdateMeasurements(&video_measurement_, *video_rtp_rtcp_, *video_receiver_) != 0) { - return; + return 0; } if (UpdateMeasurements(&audio_measurement_, *voice_rtp_rtcp, *voice_receiver) != 0) { - return; + return 0; } int relative_delay_ms; // Calculate how much later or earlier the audio stream is compared to video. if (!sync_->ComputeRelativeDelay(audio_measurement_, video_measurement_, &relative_delay_ms)) { - return; + return 0; } TRACE_COUNTER1("webrtc", "SyncCurrentVideoDelay", current_video_delay_ms); @@ -147,7 +147,7 @@ current_audio_delay_ms, &target_audio_delay_ms, &target_video_delay_ms)) { - return; + return 0; } if (voe_sync_interface_->SetMinimumPlayoutDelay( @@ -155,6 +155,7 @@ LOG(LS_ERROR) << "Error setting voice delay."; } vcm_->SetMinimumPlayoutDelay(target_video_delay_ms); + return 0; } } // namespace webrtc
diff --git a/webrtc/video/vie_sync_module.h b/webrtc/video/vie_sync_module.h index 5724ce7..779eb00 100644 --- a/webrtc/video/vie_sync_module.h +++ b/webrtc/video/vie_sync_module.h
@@ -40,7 +40,7 @@ // Implements Module. int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; private: rtc::CriticalSection data_cs_;
diff --git a/webrtc/voice_engine/monitor_module.cc b/webrtc/voice_engine/monitor_module.cc index fb3c2b4..2d8f4d4 100644 --- a/webrtc/voice_engine/monitor_module.cc +++ b/webrtc/voice_engine/monitor_module.cc
@@ -57,7 +57,7 @@ return kAverageProcessUpdateTimeMs - (now - _lastProcessTime); } -void +int32_t MonitorModule::Process() { _lastProcessTime = TickTime::MillisecondTimestamp(); @@ -66,6 +66,7 @@ { _observerPtr->OnPeriodicProcess(); } + return 0; } } // namespace voe
diff --git a/webrtc/voice_engine/monitor_module.h b/webrtc/voice_engine/monitor_module.h index f026f72..5539915 100644 --- a/webrtc/voice_engine/monitor_module.h +++ b/webrtc/voice_engine/monitor_module.h
@@ -42,7 +42,7 @@ public: // module int64_t TimeUntilNextProcess() override; - void Process() override; + int32_t Process() override; private: rtc::CriticalSection _callbackCritSect;
diff --git a/webrtc/voice_engine/output_mixer.cc b/webrtc/voice_engine/output_mixer.cc index 1c9525a..aa50e0b 100644 --- a/webrtc/voice_engine/output_mixer.cc +++ b/webrtc/voice_engine/output_mixer.cc
@@ -224,8 +224,7 @@ int32_t OutputMixer::MixActiveChannels() { - _mixerModule.Process(); - return 0; + return _mixerModule.Process(); } int