Revert "Do not propagate generic descriptor on receiving frame"
This reverts commit abf73de8eae90e9ac7e88ce1d52728e8102e824f. Reason for revert: breaks downstream tests Original change's description: > Do not propagate generic descriptor on receiving frame > > It was used only for the frame decryptor. > Decryptor needs only raw representation that it can recreate > in a way compatible with the new version of the descriptor. > > Bug: webrtc:10342 > Change-Id: Ie098235ebb87c6f5e2af42d0022d2365cd6bfa29 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166163 > Reviewed-by: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Erik Språng <sprang@webrtc.org> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#30501} TBR=danilchap@webrtc.org,sprang@webrtc.org,philipel@webrtc.org Change-Id: I6634df06ee75aa8cdfda614994ab11f7a5845c70 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:10342 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168488 Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30502}
This commit is contained in:
committed by
Commit Bot
parent
abf73de8ea
commit
bc1750d52b
@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "modules/rtp_rtcp/source/rtp_descriptor_authentication.h"
|
||||
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
|
||||
#include "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h"
|
||||
#include "modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.h"
|
||||
#include "modules/rtp_rtcp/source/rtp_video_header.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
std::vector<uint8_t> RtpDescriptorAuthentication(
|
||||
const RTPVideoHeader::GenericDescriptorInfo& descriptor) {
|
||||
// Default way of creating additional data for an encrypted frame.
|
||||
if (descriptor.spatial_index < 0 || descriptor.temporal_index < 0 ||
|
||||
descriptor.spatial_index >=
|
||||
RtpGenericFrameDescriptor::kMaxSpatialLayers ||
|
||||
descriptor.temporal_index >=
|
||||
RtpGenericFrameDescriptor::kMaxTemporalLayers ||
|
||||
descriptor.dependencies.size() >
|
||||
RtpGenericFrameDescriptor::kMaxNumFrameDependencies) {
|
||||
return {};
|
||||
}
|
||||
RtpGenericFrameDescriptor frame_descriptor;
|
||||
frame_descriptor.SetFirstPacketInSubFrame(true);
|
||||
frame_descriptor.SetLastPacketInSubFrame(false);
|
||||
frame_descriptor.SetTemporalLayer(descriptor.temporal_index);
|
||||
frame_descriptor.SetSpatialLayersBitmask(1 << descriptor.spatial_index);
|
||||
frame_descriptor.SetFrameId(descriptor.frame_id & 0xFFFF);
|
||||
for (int64_t dependency : descriptor.dependencies) {
|
||||
frame_descriptor.AddFrameDependencyDiff(descriptor.frame_id - dependency);
|
||||
}
|
||||
std::vector<uint8_t> result(
|
||||
RtpGenericFrameDescriptorExtension00::ValueSize(frame_descriptor));
|
||||
RtpGenericFrameDescriptorExtension00::Write(result, frame_descriptor);
|
||||
return result;
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
Reference in New Issue
Block a user