Add new_request flag to SendFullIntraRequest

This allows one to request the same sequence number again
in the case of resending an FIR to the a sender before the
sender has time to send a key-frame.

Bug: webrtc:11171
Change-Id: Idd8e8120ccbcc194cefb8d0cf3f7cc64e7f76aa5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161236
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30006}
This commit is contained in:
Evan Shrubsole
2019-12-04 13:50:28 +01:00
committed by Commit Bot
parent 17f82cfc68
commit 577b88dae7
6 changed files with 96 additions and 15 deletions

View File

@ -133,10 +133,16 @@ void RtcpTransceiver::SendPictureLossIndication(uint32_t ssrc) {
}
void RtcpTransceiver::SendFullIntraRequest(std::vector<uint32_t> ssrcs) {
return SendFullIntraRequest(std::move(ssrcs), true);
}
void RtcpTransceiver::SendFullIntraRequest(std::vector<uint32_t> ssrcs,
bool new_request) {
RTC_CHECK(rtcp_transceiver_);
RtcpTransceiverImpl* ptr = rtcp_transceiver_.get();
task_queue_->PostTask(
[ptr, ssrcs = std::move(ssrcs)] { ptr->SendFullIntraRequest(ssrcs); });
task_queue_->PostTask([ptr, ssrcs = std::move(ssrcs), new_request] {
ptr->SendFullIntraRequest(ssrcs, new_request);
});
}
} // namespace webrtc