Allow sending DependencyDescriptor rtp header extension in call
Bug: webrtc:10342
Change-Id: I8ccbc7381fc8ac436066f5b817fa32180fc8603e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168542
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30546}
diff --git a/call/rtp_video_sender.cc b/call/rtp_video_sender.cc
index 42a03c0..8ec534e 100644
--- a/call/rtp_video_sender.cc
+++ b/call/rtp_video_sender.cc
@@ -493,6 +493,16 @@
rtp_streams_[stream_index].rtp_rtcp->ExpectedRetransmissionTimeMs();
}
+ if (encoded_image._frameType == VideoFrameType::kVideoFrameKey) {
+ // If encoder adapter produce FrameDependencyStructure, pass it so that
+ // dependency descriptor rtp header extension can be used.
+ // If not supported, disable using dependency descriptor by passing nullptr.
+ rtp_streams_[stream_index].sender_video->SetVideoStructure(
+ (codec_specific_info && codec_specific_info->template_structure)
+ ? &*codec_specific_info->template_structure
+ : nullptr);
+ }
+
bool send_result = rtp_streams_[stream_index].sender_video->SendVideo(
rtp_config_.payload_type, codec_type_, rtp_timestamp,
encoded_image.capture_time_ms_, encoded_image, fragmentation,