summaryrefslogtreecommitdiff
path: root/framework/src/android
diff options
context:
space:
mode:
authordhavalc <dhavalc@google.com>2022-10-07 12:13:22 +0000
committerdhavalc <dhavalc@google.com>2022-10-11 09:47:24 +0000
commit4234cd84532c0e604e4ee24882a942d3be667be7 (patch)
tree062ef155f40c09d619a18b7c353c2303219291e7 /framework/src/android
parent10b5bebe6ffda8a83ba591cefb4c1c9bfb1ca178 (diff)
downloadImsMedia-4234cd84532c0e604e4ee24882a942d3be667be7.tar.gz
Added changes to move CMR from CodecParams to EvsParams
Test: Tested with device Bug: 236357306 Change-Id: Ib319ef0150e5e9aabfd3ffdb24852923ffbe5a90
Diffstat (limited to 'framework/src/android')
-rw-r--r--framework/src/android/telephony/imsmedia/AudioConfig.java32
-rw-r--r--framework/src/android/telephony/imsmedia/EvsParams.java37
2 files changed, 33 insertions, 36 deletions
diff --git a/framework/src/android/telephony/imsmedia/AudioConfig.java b/framework/src/android/telephony/imsmedia/AudioConfig.java
index ab9af140..ec08a573 100644
--- a/framework/src/android/telephony/imsmedia/AudioConfig.java
+++ b/framework/src/android/telephony/imsmedia/AudioConfig.java
@@ -59,7 +59,6 @@ public final class AudioConfig extends RtpConfig {
private byte pTimeMillis;
private int maxPtimeMillis;
- private byte codecModeRequest;
private boolean dtxEnabled;
private @CodecType int codecType;
private byte mDtmfTxPayloadTypeNumber;
@@ -75,7 +74,6 @@ public final class AudioConfig extends RtpConfig {
super(RtpConfig.TYPE_AUDIO, in);
pTimeMillis = in.readByte();
maxPtimeMillis = in.readInt();
- codecModeRequest = in.readByte();
dtxEnabled = in.readBoolean();
codecType = in.readInt();
mDtmfTxPayloadTypeNumber = in.readByte();
@@ -90,7 +88,6 @@ public final class AudioConfig extends RtpConfig {
super(RtpConfig.TYPE_AUDIO, builder);
this.pTimeMillis = builder.pTimeMillis;
this.maxPtimeMillis = builder.maxPtimeMillis;
- this.codecModeRequest = builder.codecModeRequest;
this.dtxEnabled = builder.dtxEnabled;
this.codecType = builder.codecType;
this.mDtmfTxPayloadTypeNumber = builder.mDtmfTxPayloadTypeNumber;
@@ -121,16 +118,6 @@ public final class AudioConfig extends RtpConfig {
}
/** @hide **/
- public byte getCodecModeRequest() {
- return codecModeRequest;
- }
-
- /** @hide **/
- public void setCodecModeRequest(byte codecModeRequest) {
- this.codecModeRequest = codecModeRequest;
- }
-
- /** @hide **/
public boolean getDtxEnabled() {
return dtxEnabled;
}
@@ -195,7 +182,6 @@ public final class AudioConfig extends RtpConfig {
public String toString() {
return super.toString() + " AudioConfig: {pTimeMillis=" + pTimeMillis
+ ", maxPtimeMillis=" + maxPtimeMillis
- + ", codecModeRequest=" + codecModeRequest
+ ", dtxEnabled=" + dtxEnabled
+ ", codecType=" + codecType
+ ", mDtmfTxPayloadTypeNumber=" + mDtmfTxPayloadTypeNumber
@@ -209,7 +195,7 @@ public final class AudioConfig extends RtpConfig {
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), pTimeMillis, maxPtimeMillis,
- codecModeRequest, dtxEnabled, codecType, mDtmfTxPayloadTypeNumber,
+ dtxEnabled, codecType, mDtmfTxPayloadTypeNumber,
mDtmfRxPayloadTypeNumber, dtmfSamplingRateKHz, amrParams, evsParams);
}
@@ -231,7 +217,6 @@ public final class AudioConfig extends RtpConfig {
return (pTimeMillis == s.pTimeMillis
&& maxPtimeMillis == s.maxPtimeMillis
- && codecModeRequest == s.codecModeRequest
&& dtxEnabled == s.dtxEnabled
&& codecType == s.codecType
&& mDtmfTxPayloadTypeNumber == s.mDtmfTxPayloadTypeNumber
@@ -255,7 +240,6 @@ public final class AudioConfig extends RtpConfig {
super.writeToParcel(dest, RtpConfig.TYPE_AUDIO);
dest.writeByte(pTimeMillis);
dest.writeInt(maxPtimeMillis);
- dest.writeByte(codecModeRequest);
dest.writeBoolean(dtxEnabled);
dest.writeInt(codecType);
dest.writeByte(mDtmfTxPayloadTypeNumber);
@@ -284,7 +268,6 @@ public final class AudioConfig extends RtpConfig {
public static final class Builder extends RtpConfig.AbstractBuilder<Builder> {
private byte pTimeMillis;
private int maxPtimeMillis;
- private byte codecModeRequest;
private boolean dtxEnabled;
private @CodecType int codecType;
private byte mDtmfTxPayloadTypeNumber;
@@ -331,19 +314,6 @@ public final class AudioConfig extends RtpConfig {
}
/**
- * Set the codec mode request (CMR) is used to request the speech codec encoder
- * of the other party to set the frame type index of speech mode via RTP header,
- * See RFC 4867 section 4.3.1. Allowed values are -1, 0 and 1
- *
- * @param codecModeRequest codec mode request
- * @return The same instance of the builder
- */
- public Builder setCodecModeRequest(final byte codecModeRequest) {
- this.codecModeRequest = codecModeRequest;
- return this;
- }
-
- /**
* Set whether discontinuous transmission (DTX) is enabled or not
*
* @param dtxEnabled {@code true} if DTX enabled
diff --git a/framework/src/android/telephony/imsmedia/EvsParams.java b/framework/src/android/telephony/imsmedia/EvsParams.java
index 54e05032..f8725820 100644
--- a/framework/src/android/telephony/imsmedia/EvsParams.java
+++ b/framework/src/android/telephony/imsmedia/EvsParams.java
@@ -131,6 +131,7 @@ public final class EvsParams implements Parcelable {
private final @EvsMode int evsMode;
private final byte channelAwareMode;
private final boolean mUseHeaderFullOnly;
+ private final byte mCodecModeRequest;
/** @hide **/
public EvsParams(Parcel in) {
@@ -138,14 +139,17 @@ public final class EvsParams implements Parcelable {
evsMode = in.readInt();
channelAwareMode = in.readByte();
mUseHeaderFullOnly = in.readBoolean();
+ mCodecModeRequest = in.readByte();
}
private EvsParams(final @EvsBandwidth int evsBandwidth, final @EvsMode int evsMode,
- final byte channelAwareMode, final boolean mUseHeaderFullOnly) {
+ final byte channelAwareMode, final boolean mUseHeaderFullOnly,
+ final byte codecModeRequest) {
this.evsBandwidth = evsBandwidth;
this.evsMode = evsMode;
this.channelAwareMode = channelAwareMode;
this.mUseHeaderFullOnly = mUseHeaderFullOnly;
+ this.mCodecModeRequest = codecModeRequest;
}
/** @hide **/
@@ -168,6 +172,11 @@ public final class EvsParams implements Parcelable {
return mUseHeaderFullOnly;
}
+ /** @hide **/
+ public byte getCodecModeRequest() {
+ return mCodecModeRequest;
+ }
+
@NonNull
@Override
public String toString() {
@@ -175,12 +184,14 @@ public final class EvsParams implements Parcelable {
+ ", evsMode=" + evsMode
+ ", channelAwareMode=" + channelAwareMode
+ ", mUseHeaderFullOnly=" + mUseHeaderFullOnly
+ + ", mCodecModeRequest=" + mCodecModeRequest
+ " }";
}
@Override
public int hashCode() {
- return Objects.hash(evsBandwidth, evsMode, channelAwareMode, mUseHeaderFullOnly);
+ return Objects.hash(evsBandwidth, evsMode, channelAwareMode, mUseHeaderFullOnly,
+ mCodecModeRequest);
}
@Override
@@ -198,7 +209,8 @@ public final class EvsParams implements Parcelable {
return (evsBandwidth == s.evsBandwidth
&& evsMode == s.evsMode
&& channelAwareMode == s.channelAwareMode
- && mUseHeaderFullOnly == s.mUseHeaderFullOnly);
+ && mUseHeaderFullOnly == s.mUseHeaderFullOnly
+ && mCodecModeRequest == s.mCodecModeRequest);
}
/**
@@ -216,6 +228,7 @@ public final class EvsParams implements Parcelable {
dest.writeInt(evsMode);
dest.writeByte(channelAwareMode);
dest.writeBoolean(mUseHeaderFullOnly);
+ dest.writeByte(mCodecModeRequest);
}
public static final @NonNull Parcelable.Creator<EvsParams>
@@ -239,6 +252,7 @@ public final class EvsParams implements Parcelable {
private @EvsMode int evsMode;
private byte channelAwareMode;
private boolean mUseHeaderFullOnly;
+ private byte mCodecModeRequest;
/**
* Default constructor for Builder.
@@ -303,14 +317,27 @@ public final class EvsParams implements Parcelable {
}
/**
+ * cmr: Codec mode request is used to request the speech codec encoder of the
+ * other party to set the frame type index of speech mode via RTP header, See
+ * 3GPP TS 26.445 section A.3. Allowed values are -1, 0 and 1.
+ *
+ * @param codecModeRequest codec mode request
+ * @return The same instance of the builder
+ */
+ public Builder setCodecModeRequest(final byte codecModeRequest) {
+ this.mCodecModeRequest = codecModeRequest;
+ return this;
+ }
+
+ /**
* Build the EvsParams.
*
* @return the EvsParams object.
*/
public @NonNull EvsParams build() {
// TODO validation
- return new EvsParams(evsBandwidth, evsMode, channelAwareMode, mUseHeaderFullOnly);
+ return new EvsParams(evsBandwidth, evsMode, channelAwareMode, mUseHeaderFullOnly,
+ mCodecModeRequest);
}
}
}
-