[Sumover-dev] [svn commit] r4290 - in vic/branches/cc: rtp

sumover-dev at cs.ucl.ac.uk sumover-dev at cs.ucl.ac.uk
Thu Sep 11 17:01:17 BST 2008


Author: soohyunc
Date: Thu Sep 11 17:01:16 2008
New Revision: 4290

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

Log:
o  we don't need to pass XR pointer when we call send_xreport_back()
o  TfwcSndr variable change (to a sensible name)


Modified: vic/branches/cc/cc/tfwc_sndr.cpp
==============================================================================
--- vic/branches/cc/cc/tfwc_sndr.cpp	(original)
+++ vic/branches/cc/cc/tfwc_sndr.cpp	Thu Sep 11 17:01:16 2008
@@ -135,14 +135,18 @@
 
 		// detect loss
 		int pt = mvec_[DUPACKS - 1] - 1;
-		u_int16_t end;
+		u_int16_t begin, end;
 
+		// begin
+		begin = aoa_;
+
+		// end
 		if (pt < 0)
 			end = 0;
 		else
 			end = (u_int16_t) pt;
 
-		is_loss_ = detect_loss(end, aoa_);
+		is_loss_ = detect_loss(end, begin);
 
 		// TFWC is not turned on (i.e., no packet loss yet)
 		if(!is_tfwc_on_) {

Modified: vic/branches/cc/rtp/session.cpp
==============================================================================
--- vic/branches/cc/rtp/session.cpp	(original)
+++ vic/branches/cc/rtp/session.cpp	Thu Sep 11 17:01:16 2008
@@ -682,7 +682,7 @@
 	++xr;
 
 	// XR report block length
-	int xrlen = (u_char*)xr - pktbuf_;
+	int xrlen = sizeof(xr);
 	xr->xr_len = htons((xrlen >> 2) - 1);
 
 	// RTCP header flags (this is not the XR header flags)
@@ -1184,8 +1184,8 @@
 		}
 
 		// send receiver side XR report
-		ch_[0].send_ackv(xr);
-		//ch_[0].send_ts_echo(xr);
+		ch_[0].send_ackv();
+		//ch_[0].send_ts_echo();
 	}
 	// we received ackvec, so do sender stuffs here
 	else {
@@ -1246,32 +1246,31 @@
 	} // end while
 }
 
-void CtrlHandler::send_ackv(rtcp_xr* xr)
+void CtrlHandler::send_ackv()
 {
-	sm_->build_ackv_pkt(this, xr);
+	sm_->build_ackv_pkt(this);
 }
 
-void CtrlHandler::send_ts_echo(rtcp_xr* xr)
+void CtrlHandler::send_ts_echo()
 {
-	sm_->build_ts_echo_pkt(this, xr);
+	sm_->build_ts_echo_pkt(this);
 }
 
-void SessionManager::build_ackv_pkt(CtrlHandler* ch, rtcp_xr* xr)
+void SessionManager::build_ackv_pkt(CtrlHandler* ch)
 {
 	// RTCP XR (block type 1)
 	// this block contains ackvec
-	send_xreport_back(ch, xr, XR_BT_1, 0);
+	send_xreport_back(ch, XR_BT_1, 0);
 }
 
-void SessionManager::build_ts_echo_pkt(CtrlHandler* ch, rtcp_xr* xr)
+void SessionManager::build_ts_echo_pkt(CtrlHandler* ch)
 {
 	// RTCP XR (block type 3)
 	// this block contains timestamp echo
-	send_xreport_back(ch, xr, XR_BT_3, 0);
+	send_xreport_back(ch, XR_BT_3, 0);
 }
 
-void SessionManager::send_xreport_back(CtrlHandler* ch, rtcp_xr* xr, 
-		int bt, int bye)
+void SessionManager::send_xreport_back(CtrlHandler* ch, int bt, int bye)
 {
 	UNUSED(bye);
 
@@ -1288,6 +1287,9 @@
 	// set RTCP flag to  XR packet
 	flags |= RTCP_PT_XR;
 
+	// decalre XR packet
+	rtcp_xr* xr = (rtcp_xr *) (rh + 1);
+
 	// UNUSED
 	int xrssrc = 0;
 	xr->ssrc = htons(xrssrc);
@@ -1316,7 +1318,7 @@
 	++xr;
 
 	// XR report block length
-	int xrlen = (u_char *)xr - pktbuf_;
+	int xrlen = sizeof(xr);
 	xr->xr_len = htons((xrlen >> 2) - 1);
 
 	// RTCP header flags

Modified: vic/branches/cc/rtp/session.h
==============================================================================
--- vic/branches/cc/rtp/session.h	(original)
+++ vic/branches/cc/rtp/session.h	Thu Sep 11 17:01:16 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(rtcp_xr* xr);
-	void send_ts_echo(rtcp_xr* xr);
+	void send_ackv();
+	void send_ts_echo();
 
  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*, rtcp_xr* xr, int bt, int bye);
+	virtual void send_xreport_back(CtrlHandler*, int bt, int bye);
 	void build_aoa_pkt(CtrlHandler* ch);
 	void build_ts_pkt(CtrlHandler* ch);
-	void build_ackv_pkt(CtrlHandler* ch, rtcp_xr* xr);
-	void build_ts_echo_pkt(CtrlHandler* ch, rtcp_xr* xr);
+	void build_ackv_pkt(CtrlHandler* ch);
+	void build_ts_echo_pkt(CtrlHandler* ch);
 	void cc_output();
 
 protected:



More information about the Sumover-dev mailing list