summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBodam Nam <bodamnam@google.com>2023-02-28 05:01:00 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-02-28 05:01:00 +0000
commita35d4bc0c9794654c46586e825b3ec15eee4699e (patch)
treecaa7a132de6481761e70b6fcfa382c0236116cae
parentce96ce76fe8c3952482a6b80c0c50da08ac72120 (diff)
parentb4ee9755227e9d626932da13350f276206db3f28 (diff)
downloadImsMedia-a35d4bc0c9794654c46586e825b3ec15eee4699e.tar.gz
Merge "Fix to change the video bitrate in live" into udc-dev
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/RtcpDecoderNode.cpp20
-rw-r--r--service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/android/ImsMediaVideoSource.cpp2
2 files changed, 20 insertions, 2 deletions
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/RtcpDecoderNode.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/RtcpDecoderNode.cpp
index 7682bfc7..e4c3363d 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/RtcpDecoderNode.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/RtcpDecoderNode.cpp
@@ -18,6 +18,10 @@
#include <ImsMediaTrace.h>
#include <ImsMediaVideoUtil.h>
+#ifdef DEBUG_BITRATE_CHANGE_SIMULATION
+static int32_t gTestBitrate = 384000;
+#endif
+
RtcpDecoderNode::RtcpDecoderNode(BaseSessionCallback* callback) :
BaseNode(callback)
{
@@ -142,6 +146,13 @@ void RtcpDecoderNode::OnRtcpInd(tRtpSvc_IndicationFromStack type, void* data)
{
mCallback->SendEvent(kCollectPacketInfo, kStreamRtcp);
}
+#ifdef DEBUG_BITRATE_CHANGE_SIMULATION
+ else if (mMediaType == IMS_MEDIA_VIDEO)
+ {
+ gTestBitrate *= 0.8;
+ mCallback->SendEvent(kRequestVideoBitrateChange, gTestBitrate);
+ }
+#endif
}
break;
case RTPSVC_RECEIVE_RTCP_RR_IND:
@@ -154,6 +165,13 @@ void RtcpDecoderNode::OnRtcpInd(tRtpSvc_IndicationFromStack type, void* data)
{
mCallback->SendEvent(kCollectPacketInfo, kStreamRtcp);
}
+#ifdef DEBUG_BITRATE_CHANGE_SIMULATION
+ else if (mMediaType == IMS_MEDIA_VIDEO)
+ {
+ gTestBitrate *= 0.8;
+ mCallback->SendEvent(kRequestVideoBitrateChange, gTestBitrate);
+ }
+#endif
}
break;
case RTPSVC_RECEIVE_RTCP_FB_IND:
@@ -274,7 +292,7 @@ void RtcpDecoderNode::ReceiveTmmbr(const tRtpSvcIndSt_ReceiveRtcpFeedbackInd* pa
ImsMediaVideoUtil::ConvertBitrateToPower(bitrate, exp, mantissa);
InternalRequestEventParam* pParam = new InternalRequestEventParam(
- kRtpFbTmmbr, TmmbrParams(receivedSsrc, exp, mantissa, receivedOverhead));
+ kRtpFbTmmbn, TmmbrParams(receivedSsrc, exp, mantissa, receivedOverhead));
mCallback->SendEvent(kRequestVideoSendTmmbn, reinterpret_cast<uint64_t>(pParam));
}
diff --git a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/android/ImsMediaVideoSource.cpp b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/android/ImsMediaVideoSource.cpp
index c93d99a4..b8d69951 100644
--- a/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/android/ImsMediaVideoSource.cpp
+++ b/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/video/android/ImsMediaVideoSource.cpp
@@ -453,7 +453,7 @@ void ImsMediaVideoSource::changeBitrate(const uint32_t bitrate)
}
AMediaFormat* params = AMediaFormat_new();
- AMediaFormat_setInt32(params, AMEDIAFORMAT_KEY_BIT_RATE, bitrate);
+ AMediaFormat_setInt32(params, AMEDIACODEC_KEY_VIDEO_BITRATE, bitrate);
media_status_t status = AMediaCodec_setParameters(mCodec, params);
if (status != AMEDIA_OK)