[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