summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
authordhavalc <dhavalc@google.com>2022-09-13 12:13:07 +0000
committerdhavalc <dhavalc@google.com>2022-10-07 11:28:16 +0000
commit10b5bebe6ffda8a83ba591cefb4c1c9bfb1ca178 (patch)
tree94c78dd9d7eb59107b6b82e44413134e68a4989f /framework
parent98b83c679d5261ce8863a711a3d4e1e00247ab23 (diff)
downloadImsMedia-10b5bebe6ffda8a83ba591cefb4c1c9bfb1ca178.tar.gz
Added changes to implement Tx and Rx dtmf payload type number
Bug: 236085683 Test: Tested with device Change-Id: I5179b8927e2827bc6ed61ae1d997150326b80089
Diffstat (limited to 'framework')
-rw-r--r--framework/src/android/telephony/imsmedia/AudioConfig.java66
1 files changed, 48 insertions, 18 deletions
diff --git a/framework/src/android/telephony/imsmedia/AudioConfig.java b/framework/src/android/telephony/imsmedia/AudioConfig.java
index 8ddf538f..ab9af140 100644
--- a/framework/src/android/telephony/imsmedia/AudioConfig.java
+++ b/framework/src/android/telephony/imsmedia/AudioConfig.java
@@ -62,7 +62,8 @@ public final class AudioConfig extends RtpConfig {
private byte codecModeRequest;
private boolean dtxEnabled;
private @CodecType int codecType;
- private byte dtmfPayloadTypeNumber;
+ private byte mDtmfTxPayloadTypeNumber;
+ private byte mDtmfRxPayloadTypeNumber;
private byte dtmfSamplingRateKHz;
@Nullable
private AmrParams amrParams;
@@ -77,7 +78,8 @@ public final class AudioConfig extends RtpConfig {
codecModeRequest = in.readByte();
dtxEnabled = in.readBoolean();
codecType = in.readInt();
- dtmfPayloadTypeNumber = in.readByte();
+ mDtmfTxPayloadTypeNumber = in.readByte();
+ mDtmfRxPayloadTypeNumber = in.readByte();
dtmfSamplingRateKHz = in.readByte();
amrParams = in.readParcelable(AmrParams.class.getClassLoader(), AmrParams.class);
evsParams = in.readParcelable(EvsParams.class.getClassLoader(), EvsParams.class);
@@ -91,7 +93,8 @@ public final class AudioConfig extends RtpConfig {
this.codecModeRequest = builder.codecModeRequest;
this.dtxEnabled = builder.dtxEnabled;
this.codecType = builder.codecType;
- this.dtmfPayloadTypeNumber = builder.dtmfPayloadTypeNumber;
+ this.mDtmfTxPayloadTypeNumber = builder.mDtmfTxPayloadTypeNumber;
+ this.mDtmfRxPayloadTypeNumber = builder.mDtmfRxPayloadTypeNumber;
this.dtmfSamplingRateKHz = builder.dtmfSamplingRateKHz;
this.amrParams = builder.amrParams;
this.evsParams = builder.evsParams;
@@ -148,13 +151,23 @@ public final class AudioConfig extends RtpConfig {
}
/** @hide **/
- public byte getDtmfPayloadTypeNumber() {
- return dtmfPayloadTypeNumber;
+ public byte getTxDtmfPayloadTypeNumber() {
+ return mDtmfTxPayloadTypeNumber;
}
/** @hide **/
- public void setDtmfPayloadTypeNumber(byte dtmfPayloadTypeNumber) {
- this.dtmfPayloadTypeNumber = dtmfPayloadTypeNumber;
+ public byte getRxDtmfPayloadTypeNumber() {
+ return mDtmfRxPayloadTypeNumber;
+ }
+
+ /** @hide **/
+ public void setTxDtmfPayloadTypeNumber(byte dtmfTxPayloadTypeNumber) {
+ this.mDtmfTxPayloadTypeNumber = dtmfTxPayloadTypeNumber;
+ }
+
+ /** @hide **/
+ public void setRxDtmfPayloadTypeNumber(byte dtmfRxPayloadTypeNumber) {
+ this.mDtmfRxPayloadTypeNumber = dtmfRxPayloadTypeNumber;
}
/** @hide **/
@@ -185,7 +198,8 @@ public final class AudioConfig extends RtpConfig {
+ ", codecModeRequest=" + codecModeRequest
+ ", dtxEnabled=" + dtxEnabled
+ ", codecType=" + codecType
- + ", dtmfPayloadTypeNumber=" + dtmfPayloadTypeNumber
+ + ", mDtmfTxPayloadTypeNumber=" + mDtmfTxPayloadTypeNumber
+ + ", mDtmfRxPayloadTypeNumber=" + mDtmfRxPayloadTypeNumber
+ ", dtmfSamplingRateKHz=" + dtmfSamplingRateKHz
+ ", amrParams=" + amrParams
+ ", evsParams=" + evsParams
@@ -195,8 +209,8 @@ public final class AudioConfig extends RtpConfig {
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), pTimeMillis, maxPtimeMillis,
- codecModeRequest, dtxEnabled, codecType, dtmfPayloadTypeNumber,
- dtmfSamplingRateKHz, amrParams, evsParams);
+ codecModeRequest, dtxEnabled, codecType, mDtmfTxPayloadTypeNumber,
+ mDtmfRxPayloadTypeNumber, dtmfSamplingRateKHz, amrParams, evsParams);
}
@Override
@@ -220,7 +234,8 @@ public final class AudioConfig extends RtpConfig {
&& codecModeRequest == s.codecModeRequest
&& dtxEnabled == s.dtxEnabled
&& codecType == s.codecType
- && dtmfPayloadTypeNumber == s.dtmfPayloadTypeNumber
+ && mDtmfTxPayloadTypeNumber == s.mDtmfTxPayloadTypeNumber
+ && mDtmfRxPayloadTypeNumber == s.mDtmfRxPayloadTypeNumber
&& dtmfSamplingRateKHz == s.dtmfSamplingRateKHz
&& Objects.equals(amrParams, s.amrParams)
&& Objects.equals(evsParams, s.evsParams));
@@ -243,7 +258,8 @@ public final class AudioConfig extends RtpConfig {
dest.writeByte(codecModeRequest);
dest.writeBoolean(dtxEnabled);
dest.writeInt(codecType);
- dest.writeByte(dtmfPayloadTypeNumber);
+ dest.writeByte(mDtmfTxPayloadTypeNumber);
+ dest.writeByte(mDtmfRxPayloadTypeNumber);
dest.writeByte(dtmfSamplingRateKHz);
dest.writeParcelable(amrParams, 0);
dest.writeParcelable(evsParams, 0);
@@ -271,7 +287,8 @@ public final class AudioConfig extends RtpConfig {
private byte codecModeRequest;
private boolean dtxEnabled;
private @CodecType int codecType;
- private byte dtmfPayloadTypeNumber;
+ private byte mDtmfTxPayloadTypeNumber;
+ private byte mDtmfRxPayloadTypeNumber;
private byte dtmfSamplingRateKHz;
@Nullable
private AmrParams amrParams;
@@ -349,15 +366,28 @@ public final class AudioConfig extends RtpConfig {
}
/**
- * Set the dynamic payload type number to be used for DTMF RTP packets.
+ * Set the dynamic Tx payload type number to be used to transmit DTMF RTP packets.
+ * The values is in the range from 96 to 127 chosen during the session establishment.
+ * The PT value of the RTP header of all DTMF packets shall be set with this value.
+ *
+ * @param dtmfTxPayloadTypeNumber Payload type number for the Tx DTMF packets
+ * @return The same instance of the builder
+ */
+ public Builder setTxDtmfPayloadTypeNumber(final byte dtmfTxPayloadTypeNumber) {
+ this.mDtmfTxPayloadTypeNumber = dtmfTxPayloadTypeNumber;
+ return this;
+ }
+
+ /**
+ * Set the dynamic Rx payload type number to be used for DTMF received RTP packets.
* The values is in the range from 96 to 127 chosen during the session establishment.
- * The PT value of the RTP header of all DTMF packets shall be set with this value.
+ * The PT value of the RTP header of all DTMF packets shall be set with this value.
*
- * @param dtmfPayloadTypeNumber Payload type number for the DTMF packets
+ * @param dtmfRxPayloadTypeNumber Payload type number for the Rx DTMF packets
* @return The same instance of the builder
*/
- public Builder setDtmfPayloadTypeNumber(final byte dtmfPayloadTypeNumber) {
- this.dtmfPayloadTypeNumber = dtmfPayloadTypeNumber;
+ public Builder setRxDtmfPayloadTypeNumber(final byte dtmfRxPayloadTypeNumber) {
+ this.mDtmfRxPayloadTypeNumber = dtmfRxPayloadTypeNumber;
return this;
}