From d46a174f0c4d7bca52d1caeeb29ce59c987bb869 Mon Sep 17 00:00:00 2001 From: Yura Yaroshevich Date: Wed, 14 Apr 2021 16:26:14 +0300 Subject: [PATCH] Expose adaptive_ptime from iOS SDK. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: None Change-Id: I48fd0937f51dc972b3eccd66f99ae80378e32fe1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214968 Commit-Queue: Yura Yaroshevich Reviewed-by: Kári Helgason Reviewed-by: Harald Alvestrand Cr-Commit-Position: refs/heads/master@{#33766} --- modules/audio_coding/codecs/opus/audio_encoder_opus.cc | 5 +++++ sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h | 4 ++++ sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm | 3 +++ 3 files changed, 12 insertions(+) diff --git a/modules/audio_coding/codecs/opus/audio_encoder_opus.cc b/modules/audio_coding/codecs/opus/audio_encoder_opus.cc index 203cb5aeb3..7c62e98c5b 100644 --- a/modules/audio_coding/codecs/opus/audio_encoder_opus.cc +++ b/modules/audio_coding/codecs/opus/audio_encoder_opus.cc @@ -704,6 +704,11 @@ bool AudioEncoderOpusImpl::RecreateEncoderInstance( } void AudioEncoderOpusImpl::SetFrameLength(int frame_length_ms) { + if (next_frame_length_ms_ != frame_length_ms) { + RTC_LOG(LS_VERBOSE) << "Update Opus frame length " + << "from " << next_frame_length_ms_ << " ms " + << "to " << frame_length_ms << " ms."; + } next_frame_length_ms_ = frame_length_ms; } diff --git a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h index af6d5832b5..07f6b7a39c 100644 --- a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h +++ b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h @@ -65,6 +65,10 @@ RTC_OBJC_EXPORT /** The relative DiffServ Code Point priority. */ @property(nonatomic, assign) RTCPriority networkPriority; +/** Allow dynamic frame length changes for audio: + https://w3c.github.io/webrtc-extensions/#dom-rtcrtpencodingparameters-adaptiveptime */ +@property(nonatomic, assign) BOOL adaptiveAudioPacketTime; + - (instancetype)init; @end diff --git a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm index a42439f964..d6087dafb0 100644 --- a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm +++ b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm @@ -24,6 +24,7 @@ @synthesize ssrc = _ssrc; @synthesize bitratePriority = _bitratePriority; @synthesize networkPriority = _networkPriority; +@synthesize adaptiveAudioPacketTime = _adaptiveAudioPacketTime; - (instancetype)init { webrtc::RtpEncodingParameters nativeParameters; @@ -61,6 +62,7 @@ _bitratePriority = nativeParameters.bitrate_priority; _networkPriority = [RTC_OBJC_TYPE(RTCRtpEncodingParameters) priorityFromNativePriority:nativeParameters.network_priority]; + _adaptiveAudioPacketTime = nativeParameters.adaptive_ptime; } return self; } @@ -93,6 +95,7 @@ parameters.bitrate_priority = _bitratePriority; parameters.network_priority = [RTC_OBJC_TYPE(RTCRtpEncodingParameters) nativePriorityFromPriority:_networkPriority]; + parameters.adaptive_ptime = _adaptiveAudioPacketTime; return parameters; }