summaryrefslogtreecommitdiff
path: root/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/nodes/RtcpDecoderNode.cpp
diff options
context:
space:
mode:
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.cpp25
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));
}