diff options
author | Bodam Nam <bodamnam@google.com> | 2023-02-28 05:01:00 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2023-02-28 05:01:00 +0000 |
commit | a35d4bc0c9794654c46586e825b3ec15eee4699e (patch) | |
tree | caa7a132de6481761e70b6fcfa382c0236116cae | |
parent | ce96ce76fe8c3952482a6b80c0c50da08ac72120 (diff) | |
parent | b4ee9755227e9d626932da13350f276206db3f28 (diff) | |
download | ImsMedia-a35d4bc0c9794654c46586e825b3ec15eee4699e.tar.gz |
Merge "Fix to change the video bitrate in live" into udc-dev
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) |