Ready to support of absolute capture timestamp header extension.
This does not add it in default SDP offer. Bug: webrtc:10739 Change-Id: I4e73f4497989fc34f3676927921a4dabb5926096 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169729 Commit-Queue: Minyue Li <minyue@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Johannes Kron <kron@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30707}
This commit is contained in:
parent
36f4fa7d4c
commit
74dadc1e8e
@ -159,8 +159,7 @@ constexpr int RtpExtension::kOneByteHeaderExtensionMaxValueSize;
|
||||
bool RtpExtension::IsSupportedForAudio(const std::string& uri) {
|
||||
return uri == webrtc::RtpExtension::kAudioLevelUri ||
|
||||
uri == webrtc::RtpExtension::kAbsSendTimeUri ||
|
||||
// TODO(bugs.webrtc.org/10739): Uncomment once the audio impl is ready.
|
||||
// uri == webrtc::RtpExtension::kAbsoluteCaptureTimeUri ||
|
||||
uri == webrtc::RtpExtension::kAbsoluteCaptureTimeUri ||
|
||||
uri == webrtc::RtpExtension::kTransportSequenceNumberUri ||
|
||||
uri == webrtc::RtpExtension::kTransportSequenceNumberV2Uri ||
|
||||
uri == webrtc::RtpExtension::kMidUri ||
|
||||
@ -171,8 +170,7 @@ bool RtpExtension::IsSupportedForAudio(const std::string& uri) {
|
||||
bool RtpExtension::IsSupportedForVideo(const std::string& uri) {
|
||||
return uri == webrtc::RtpExtension::kTimestampOffsetUri ||
|
||||
uri == webrtc::RtpExtension::kAbsSendTimeUri ||
|
||||
// TODO(bugs.webrtc.org/10739): Uncomment once the video impl is ready.
|
||||
// uri == webrtc::RtpExtension::kAbsoluteCaptureTimeUri ||
|
||||
uri == webrtc::RtpExtension::kAbsoluteCaptureTimeUri ||
|
||||
uri == webrtc::RtpExtension::kVideoRotationUri ||
|
||||
uri == webrtc::RtpExtension::kTransportSequenceNumberUri ||
|
||||
uri == webrtc::RtpExtension::kTransportSequenceNumberV2Uri ||
|
||||
|
||||
@ -212,6 +212,8 @@ AudioSendStream::ExtensionIds AudioSendStream::FindExtensionIds(
|
||||
ids.rid = extension.id;
|
||||
} else if (extension.uri == RtpExtension::kRepairedRidUri) {
|
||||
ids.repaired_rid = extension.id;
|
||||
} else if (extension.uri == RtpExtension::kAbsoluteCaptureTimeUri) {
|
||||
ids.abs_capture_time = extension.id;
|
||||
}
|
||||
}
|
||||
return ids;
|
||||
@ -323,6 +325,15 @@ void AudioSendStream::ConfigureStream(
|
||||
rtp_rtcp_module_->SetRid(new_config.rtp.rid);
|
||||
}
|
||||
|
||||
if (first_time || new_ids.abs_capture_time != old_ids.abs_capture_time) {
|
||||
rtp_rtcp_module_->DeregisterSendRtpHeaderExtension(
|
||||
kRtpExtensionAbsoluteCaptureTime);
|
||||
if (new_ids.abs_capture_time) {
|
||||
rtp_rtcp_module_->RegisterRtpHeaderExtension(
|
||||
AbsoluteCaptureTimeExtension::kUri, new_ids.abs_capture_time);
|
||||
}
|
||||
}
|
||||
|
||||
if (!ReconfigureSendCodec(new_config)) {
|
||||
RTC_LOG(LS_ERROR) << "Failed to set up send codec state.";
|
||||
}
|
||||
|
||||
@ -190,6 +190,7 @@ class AudioSendStream final : public webrtc::AudioSendStream,
|
||||
struct ExtensionIds {
|
||||
int audio_level = 0;
|
||||
int abs_send_time = 0;
|
||||
int abs_capture_time = 0;
|
||||
int transport_sequence_number = 0;
|
||||
int mid = 0;
|
||||
int rid = 0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user