[Sumover-dev] [svn commit] r4262 - vic/branches/cc/rtp

sumover-dev at cs.ucl.ac.uk sumover-dev at cs.ucl.ac.uk
Tue Aug 12 14:39:25 BST 2008


Author: soohyunc
Date: Tue Aug 12 14:39:25 2008
New Revision: 4262

Modified:
   vic/branches/cc/rtp/session.cpp
   vic/branches/cc/rtp/session.h

Log:
o  added an argument (rtcp_xr*) in send_xreport_back() method.
   when sending XR report back (from receiver side), it takes an argument of XR
   that has been passed to it.


Modified: vic/branches/cc/rtp/session.cpp
==============================================================================
--- vic/branches/cc/rtp/session.cpp	(original)
+++ vic/branches/cc/rtp/session.cpp	Tue Aug 12 14:39:25 2008
@@ -1181,8 +1181,8 @@
 		tfwc_rcvr_recv(seqno_, ackofack_, ts_);
 
 		// send receiver side XR report
-		ch_[0].send_ackv();
-		ch_[0].send_ts_echo();
+		ch_[0].send_ackv(xr);
+		ch_[0].send_ts_echo(xr);
 	}
 	// we received ackvec, so do sender stuffs here
 	else {
@@ -1200,31 +1200,32 @@
 	}
 }
 
-void CtrlHandler::send_ackv()
+void CtrlHandler::send_ackv(rtcp_xr* xr)
 {
-	sm_->build_ackv_pkt(this);
+	sm_->build_ackv_pkt(this, xr);
 }
 
-void CtrlHandler::send_ts_echo()
+void CtrlHandler::send_ts_echo(rtcp_xr* xr)
 {
-	sm_->build_ts_echo_pkt(this);
+	sm_->build_ts_echo_pkt(this, xr);
 }
 
-void SessionManager::build_ackv_pkt(CtrlHandler* ch)
+void SessionManager::build_ackv_pkt(CtrlHandler* ch, rtcp_xr* xr)
 {
 	// RTCP XR (block type 1)
 	// this block contains ackvec
-	send_xreport_back(ch, XR_BT_1, 0);
+	send_xreport_back(ch, xr, XR_BT_1, 0);
 }
 
-void SessionManager::build_ts_echo_pkt(CtrlHandler* ch)
+void SessionManager::build_ts_echo_pkt(CtrlHandler* ch, rtcp_xr* xr)
 {
 	// RTCP XR (block type 3)
 	// this block contains timestamp echo
-	send_xreport_back(ch, XR_BT_3, 0);
+	send_xreport_back(ch, xr, XR_BT_3, 0);
 }
 
-void SessionManager::send_xreport_back(CtrlHandler* ch, int bt, int bye)
+void SessionManager::send_xreport_back(CtrlHandler* ch, rtcp_xr* xr, 
+		int bt, int bye)
 {
 	UNUSED(bye);
 
@@ -1237,10 +1238,6 @@
 	// set RTCP flag to  XR packet
 	flags |= RTCP_PT_XR;
 
-	// declare XR packet
-	rtcp_xr* xr;
-	xr = (rtcp_xr*)(rh + 1);
-
 	// UNUSED
 	int xrssrc = 0;
 	xr->ssrc = htons(xrssrc);

Modified: vic/branches/cc/rtp/session.h
==============================================================================
--- vic/branches/cc/rtp/session.h	(original)
+++ vic/branches/cc/rtp/session.h	Tue Aug 12 14:39:25 2008
@@ -96,8 +96,8 @@
 	inline double rint() const { return (rint_); }
 	void send_aoa();	// send ackofack (TfwcSndr side)
 	void send_ts();		// send timestamp (TfwcSndr side)
-	void send_ackv();
-	void send_ts_echo();
+	void send_ackv(rtcp_xr* xr);
+	void send_ts_echo(rtcp_xr* xr);
 
  protected:
 	void schedule_timer();
@@ -127,11 +127,11 @@
 //	virtual void send_report();
 	virtual void send_report(CtrlHandler*, int bye, int app = 0);
 	virtual void send_xreport(CtrlHandler*, int bt, int bye);
-	virtual void send_xreport_back(CtrlHandler*, int bt, int bye);
+	virtual void send_xreport_back(CtrlHandler*, rtcp_xr* xr, int bt, int bye);
 	void build_aoa_pkt(CtrlHandler* ch);
 	void build_ts_pkt(CtrlHandler* ch);
-	void build_ackv_pkt(CtrlHandler* ch);
-	void build_ts_echo_pkt(CtrlHandler* ch);
+	void build_ackv_pkt(CtrlHandler* ch, rtcp_xr* xr);
+	void build_ts_echo_pkt(CtrlHandler* ch, rtcp_xr* xr);
 
 protected:
 //	void demux(rtphdr* rh, u_char* bp, int cc, Address & addr, int layer);



More information about the Sumover-dev mailing list