/* * send_rtcp() is called to send RTCP packet. The "pkt" and "size" argument * contain the RTCP packet. */ static pj_status_t transport_send_rtcp(pjmedia_transport *tp, const void *pkt, pj_size_t size) { struct tp_zrtp *zrtp = (struct tp_zrtp*)tp; pj_status_t rc = PJ_SUCCESS; int32_t newLen = 0; PJ_ASSERT_RETURN(tp, PJ_EINVAL); /* You may do some processing to the RTCP packet here if you want. */ if (zrtp->srtcpSend == NULL) { return pjmedia_transport_send_rtcp(zrtp->slave_tp, pkt, size); } else { if (size+80 > MAX_RTCP_BUFFER_LEN) return PJ_ETOOBIG; pj_memcpy(zrtp->sendBufferCtrl, pkt, size); rc = zsrtp_protectCtrl(zrtp->srtcpSend, zrtp->sendBufferCtrl, size, &newLen); if (rc == 1) return pjmedia_transport_send_rtcp(zrtp->slave_tp, zrtp->sendBufferCtrl, newLen); else return PJ_EIGNORED; } /* Send the packet using the slave transport */ // return pjmedia_transport_send_rtcp(zrtp->slave_tp, pkt, size); }
/* * send_rtcp() is called to send RTCP packet. The "pkt" and "size" argument * contain the RTCP packet. */ static pj_status_t transport_send_rtcp(pjmedia_transport *tp, const void *pkt, pj_size_t size) { struct tp_adapter *adapter = (struct tp_adapter*)tp; /* You may do some processing to the RTCP packet here if you want. */ /* Send the packet using the slave transport */ return pjmedia_transport_send_rtcp(adapter->slave_tp, pkt, size); }
/* * send_rtcp() is called to send RTCP packet. The "pkt" and "size" argument * contain the RTCP packet. */ static pj_status_t transport_send_rtcp(pjmedia_transport *tp, const void *pkt, pj_size_t size) { struct tp_zrtp *zrtp = (struct tp_zrtp*)tp; PJ_ASSERT_RETURN(tp, PJ_EINVAL); /* You may do some processing to the RTCP packet here if you want. */ /* Send the packet using the slave transport */ return pjmedia_transport_send_rtcp(zrtp->slave_tp, pkt, size); }