Add members for the codec agnostic descriptor to RTPVideoHeader.
TBR=danilchap@webrtc.org Bug: webrtc:9361, webrtc:9582 Change-Id: I0303fc89bafab59e68ec81979e0e4372e79a4f51 Reviewed-on: https://webrtc-review.googlesource.com/91866 Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24170}
This commit is contained in:
parent
e468ba77ae
commit
f8d81d33ed
1
DEPS
1
DEPS
@ -1046,6 +1046,7 @@ include_rules = [
|
||||
"+rtc_tools",
|
||||
|
||||
# Abseil whitelist.
|
||||
"+absl/container/inlined_vector.h",
|
||||
"+absl/memory/memory.h",
|
||||
"+absl/types/optional.h",
|
||||
"+absl/types/variant.h",
|
||||
|
||||
@ -267,6 +267,7 @@ rtc_source_set("rtp_video_header") {
|
||||
"../../:webrtc_common",
|
||||
"../../api/video:video_frame",
|
||||
"../../modules/video_coding:codec_globals_headers",
|
||||
"//third_party/abseil-cpp/absl/container:inlined_vector",
|
||||
"//third_party/abseil-cpp/absl/types:variant",
|
||||
]
|
||||
}
|
||||
|
||||
@ -12,16 +12,8 @@
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
RTPVideoHeader::RTPVideoHeader()
|
||||
: width(),
|
||||
height(),
|
||||
rotation(),
|
||||
playout_delay(),
|
||||
content_type(),
|
||||
video_timing(),
|
||||
is_first_packet_in_frame(),
|
||||
simulcastIdx(),
|
||||
codec() {}
|
||||
RTPVideoHeader::RTPVideoHeader() : playout_delay(), video_timing() {}
|
||||
RTPVideoHeader::RTPVideoHeader(const RTPVideoHeader& other) = default;
|
||||
RTPVideoHeader::~RTPVideoHeader() = default;
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
#ifndef MODULES_RTP_RTCP_SOURCE_RTP_VIDEO_HEADER_H_
|
||||
#define MODULES_RTP_RTCP_SOURCE_RTP_VIDEO_HEADER_H_
|
||||
|
||||
#include "absl/container/inlined_vector.h"
|
||||
#include "absl/types/variant.h"
|
||||
#include "api/video/video_content_type.h"
|
||||
#include "api/video/video_rotation.h"
|
||||
@ -27,6 +28,8 @@ struct RTPVideoHeader {
|
||||
RTPVideoHeader();
|
||||
RTPVideoHeader(const RTPVideoHeader& other);
|
||||
|
||||
~RTPVideoHeader();
|
||||
|
||||
// TODO(philipel): Remove when downstream projects have been updated.
|
||||
RTPVideoHeaderVP8& vp8() {
|
||||
if (!absl::holds_alternative<RTPVideoHeaderVP8>(video_type_header))
|
||||
@ -70,15 +73,23 @@ struct RTPVideoHeader {
|
||||
return absl::get<RTPVideoHeaderH264>(video_type_header);
|
||||
}
|
||||
|
||||
uint16_t width;
|
||||
uint16_t height;
|
||||
VideoRotation rotation;
|
||||
// Information for generic codec descriptor.
|
||||
int64_t frame_id = 0;
|
||||
int spatial_index = 0;
|
||||
int temporal_index = 0;
|
||||
absl::InlinedVector<int64_t, 5> dependencies;
|
||||
absl::InlinedVector<int, 5> higher_spatial_layers;
|
||||
|
||||
uint16_t width = 0;
|
||||
uint16_t height = 0;
|
||||
VideoRotation rotation = VideoRotation::kVideoRotation_0;
|
||||
VideoContentType content_type = VideoContentType::UNSPECIFIED;
|
||||
bool is_first_packet_in_frame = false;
|
||||
uint8_t simulcastIdx = 0;
|
||||
VideoCodecType codec = VideoCodecType::kVideoCodecUnknown;
|
||||
|
||||
PlayoutDelay playout_delay;
|
||||
VideoContentType content_type;
|
||||
VideoSendTiming video_timing;
|
||||
bool is_first_packet_in_frame;
|
||||
uint8_t simulcastIdx;
|
||||
VideoCodecType codec;
|
||||
// TODO(philipel): remove mutable when downstream projects have been updated.
|
||||
mutable RTPVideoTypeHeader video_type_header;
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user