VT: Add RTCP feedback message(TSFB & PSFB) parser to RTP source
Parser for RTCP feedback messages (Refer RFC 4585 Ch.6)
1. Parser for TranSport layer FeedBack messages. (Refer RFC 5104 Ch.4)
Bitrate value in TMMBR & TMMBN must be passed on to Recorder(Tx) part for congestion control.
2. Parser for Payload-Specific FeedBack messages (Refer RFC 4585 Ch.6)
Supports PLI(Packet Loss Indication) notification.
The value & notification are passed through ARTPConnection -> RTPSource -> NuPlayer -> JAVA layer
Bug: 121230209
Change-Id: I85bfa0c359a60b42bcdf062f8a158db2ce69aa5a
Signed-off-by: Kim Sungyeon <sy85.kim@samsung.com>
diff --git a/media/libmediaplayerservice/nuplayer/RTPSource.cpp b/media/libmediaplayerservice/nuplayer/RTPSource.cpp
index de1f8a1..9bb4cb7 100644
--- a/media/libmediaplayerservice/nuplayer/RTPSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/RTPSource.cpp
@@ -356,6 +356,22 @@
break;
}
+ int32_t IMSRxNotice;
+ if (msg->findInt32("IMS-Rx-notice", &IMSRxNotice)) {
+ int32_t payloadType, feedbackType;
+ CHECK(msg->findInt32("payload-type", &payloadType));
+ CHECK(msg->findInt32("feedback-type", &feedbackType));
+
+ sp<AMessage> notify = dupNotify();
+ notify->setInt32("what", kWhatIMSRxNotice);
+ notify->setMessage("message", msg);
+ notify->post();
+
+ ALOGV("IMSRxNotice \t\t payload : %d feedback : %d",
+ payloadType, feedbackType);
+ break;
+ }
+
size_t trackIndex;
CHECK(msg->findSize("trackIndex", &trackIndex));