aboutsummaryrefslogtreecommitdiff
path: root/modules/rtp_rtcp/source/rtp_sender_video.cc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/rtp_rtcp/source/rtp_sender_video.cc')
-rw-r--r--modules/rtp_rtcp/source/rtp_sender_video.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/modules/rtp_rtcp/source/rtp_sender_video.cc b/modules/rtp_rtcp/source/rtp_sender_video.cc
index 3b992dc4eb..4919e3ebf4 100644
--- a/modules/rtp_rtcp/source/rtp_sender_video.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_video.cc
@@ -169,8 +169,7 @@ RTPSenderVideo::RTPSenderVideo(const Config& config)
absolute_capture_time_sender_(config.clock),
frame_transformer_delegate_(
config.frame_transformer
- ? new rtc::RefCountedObject<
- RTPSenderVideoFrameTransformerDelegate>(
+ ? rtc::make_ref_counted<RTPSenderVideoFrameTransformerDelegate>(
this,
config.frame_transformer,
rtp_sender_->SSRC(),
@@ -362,7 +361,8 @@ void RTPSenderVideo::AddRtpHeaderExtensions(
if (video_header.generic) {
bool extension_is_set = false;
- if (video_structure_ != nullptr) {
+ if (packet->IsRegistered<RtpDependencyDescriptorExtension>() &&
+ video_structure_ != nullptr) {
DependencyDescriptor descriptor;
descriptor.first_packet_in_frame = first_packet;
descriptor.last_packet_in_frame = last_packet;
@@ -408,7 +408,8 @@ void RTPSenderVideo::AddRtpHeaderExtensions(
}
// Do not use generic frame descriptor when dependency descriptor is stored.
- if (!extension_is_set) {
+ if (packet->IsRegistered<RtpGenericFrameDescriptorExtension00>() &&
+ !extension_is_set) {
RtpGenericFrameDescriptor generic_descriptor;
generic_descriptor.SetFirstPacketInSubFrame(first_packet);
generic_descriptor.SetLastPacketInSubFrame(last_packet);
@@ -438,7 +439,8 @@ void RTPSenderVideo::AddRtpHeaderExtensions(
}
}
- if (first_packet &&
+ if (packet->IsRegistered<RtpVideoLayersAllocationExtension>() &&
+ first_packet &&
send_allocation_ != SendVideoLayersAllocation::kDontSend &&
(video_header.frame_type == VideoFrameType::kVideoFrameKey ||
PacketWillLikelyBeRequestedForRestransmitionIfLost(video_header))) {
@@ -524,7 +526,8 @@ bool RTPSenderVideo::SendVideo(
AbsoluteCaptureTimeSender::GetSource(single_packet->Ssrc(),
single_packet->Csrcs()),
single_packet->Timestamp(), kVideoPayloadTypeFrequency,
- Int64MsToUQ32x32(single_packet->capture_time_ms() + NtpOffsetMs()),
+ Int64MsToUQ32x32(
+ clock_->ConvertTimestampToNtpTimeInMilliseconds(capture_time_ms)),
/*estimated_capture_clock_offset=*/
include_capture_clock_offset_ ? estimated_capture_clock_offset_ms
: absl::nullopt);