Reland "SeqNumUnwrapper::Unwrap now returns int64_t instead of uint64_t."

This reverts commit b5207b488b035eae4d11dfdcca9526d5a70c9c09.

Reason for revert: DecodedFramesHistory has now been updated.

Original change's description:
> Revert "SeqNumUnwrapper::Unwrap now returns int64_t instead of uint64_t."
> 
> This reverts commit b0f968a761b715da4cf81e4b9c3cab0ccd322cf2.
> 
> Reason for revert: Need to update DecodedFramesHistory to manage negative picture IDs.
> 
> Original change's description:
> > SeqNumUnwrapper::Unwrap now returns int64_t instead of uint64_t.
> > 
> > Bug: webrtc:10263
> > Change-Id: Idaeae6be01bd4eba0691226c958d70e114161ffd
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127295
> > Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27129}
> 
> TBR=kwiberg@webrtc.org,eladalon@webrtc.org,terelius@webrtc.org,philipel@webrtc.org,kron@webrtc.org
> 
> Change-Id: I529bb0475bd21a80fa244278aff1fd912a85c169
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10263
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127885
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27135}

TBR=kwiberg@webrtc.org,eladalon@webrtc.org,terelius@webrtc.org,philipel@webrtc.org,kron@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:10263
Change-Id: Id59e377010b5070dd37a7ece8df79b23af43835a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128568
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27191}
This commit is contained in:
Philip Eliasson
2019-03-19 12:15:00 +00:00
committed by Commit Bot
parent c936cb6a86
commit 1f850a6dc7
9 changed files with 409 additions and 448 deletions

View File

@ -41,7 +41,7 @@ class LossNotificationController {
void DiscardOldInformation();
bool AllDependenciesDecodable(
uint64_t unwrapped_frame_id,
int64_t unwrapped_frame_id,
rtc::ArrayView<const uint16_t> frame_dependency_diffs) const;
// When the loss of a packet or the non-decodability of a frame is detected,
@ -70,7 +70,7 @@ class LossNotificationController {
RTC_GUARDED_BY(sequenced_task_checker_);
// Tracked to avoid processing repeated frames (buggy/malicious remote).
absl::optional<uint64_t> last_received_unwrapped_frame_id_
absl::optional<int64_t> last_received_unwrapped_frame_id_
RTC_GUARDED_BY(sequenced_task_checker_);
// Tracked to avoid processing repeated packets.
@ -97,7 +97,7 @@ class LossNotificationController {
// Track which frames are decodable. Later frames are also decodable if
// all of their dependencies can be found in this container.
// (Naturally, later frames must also be assemblable to be decodable.)
std::set<uint64_t> decodable_unwrapped_frame_ids_
std::set<int64_t> decodable_unwrapped_frame_ids_
RTC_GUARDED_BY(sequenced_task_checker_);
rtc::SequencedTaskChecker sequenced_task_checker_;