Propagate active decode targets bitmask into DependencyDescriptor
Bug: webrtc:10342 Change-Id: I5e8a204881b94fe5786b14e27cefce2fe056e91b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178140 Reviewed-by: Björn Terelius <terelius@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31579}
This commit is contained in:
committed by
Commit Bot
parent
11b6f6857f
commit
e6ac8ff162
@ -93,6 +93,7 @@ void ActiveDecodeTargetsHelper::OnFrame(
|
||||
if (is_keyframe) {
|
||||
// Key frame resets the state.
|
||||
last_active_decode_targets_ = all_decode_targets;
|
||||
last_active_chains_ = AllActive(num_chains);
|
||||
unsent_on_chain_.reset();
|
||||
} else {
|
||||
// Update state assuming previous frame was sent.
|
||||
@ -108,12 +109,12 @@ void ActiveDecodeTargetsHelper::OnFrame(
|
||||
return;
|
||||
}
|
||||
last_active_decode_targets_ = active_decode_targets;
|
||||
|
||||
last_active_chains_ = ActiveChains(decode_target_protected_by_chain,
|
||||
num_chains, active_decode_targets);
|
||||
// Frames that are part of inactive chains might not be produced by the
|
||||
// encoder. Thus stop sending `active_decode_target` bitmask when it is sent
|
||||
// on all active chains rather than on all chains.
|
||||
unsent_on_chain_ = ActiveChains(decode_target_protected_by_chain, num_chains,
|
||||
active_decode_targets);
|
||||
unsent_on_chain_ = last_active_chains_;
|
||||
if (unsent_on_chain_.none()) {
|
||||
// Active decode targets are not protected by any chains. To be on the
|
||||
// safe side always send the active_decode_targets_bitmask from now on.
|
||||
|
||||
Reference in New Issue
Block a user