diff options
Diffstat (limited to 'service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/RtcpDecoderNode.cpp')
-rw-r--r-- | service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/RtcpDecoderNode.cpp | 25 |
1 files changed, 23 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..e104c2cb 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) { @@ -84,7 +88,10 @@ void RtcpDecoderNode::OnDataFromFrontNode(ImsMediaSubType subtype, uint8_t* pDat IMLOGD_PACKET6(IM_PACKET_LOG_RTCP, "[OnMediaDataInd] media[%d] subtype[%d], Size[%d], TS[%u], Mark[%d], Seq[%d]", mMediaType, subtype, nDataSize, nTimeStamp, bMark, nSeqNum); - mRtpSession->ProcRtcpPacket(pData, nDataSize); + if (mRtpSession != nullptr) + { + mRtpSession->ProcRtcpPacket(pData, nDataSize); + } } bool RtcpDecoderNode::IsRunTime() @@ -142,6 +149,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 +168,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 +295,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)); } |