summaryrefslogtreecommitdiff
path: root/pjmedia/src
diff options
context:
space:
mode:
Diffstat (limited to 'pjmedia/src')
-rw-r--r--pjmedia/src/pjmedia/stream.c37
1 files changed, 31 insertions, 6 deletions
diff --git a/pjmedia/src/pjmedia/stream.c b/pjmedia/src/pjmedia/stream.c
index eae1398a..94d8e0f8 100644
--- a/pjmedia/src/pjmedia/stream.c
+++ b/pjmedia/src/pjmedia/stream.c
@@ -925,10 +925,15 @@ static void check_tx_rtcp(pjmedia_stream *stream, pj_uint32_t timestamp)
void *rtcp_pkt;
int len;
+ pj_status_t status;
pjmedia_rtcp_build_rtcp(&stream->rtcp, &rtcp_pkt, &len);
- pjmedia_transport_send_rtcp(stream->transport, rtcp_pkt, len);
+ status=pjmedia_transport_send_rtcp(stream->transport, rtcp_pkt, len);
+ if (status != PJ_SUCCESS) {
+ PJ_PERROR(4,(stream->port.info.name.ptr, status,
+ "Error sending RTCP"));
+ }
stream->rtcp_last_tx = timestamp;
}
@@ -1338,8 +1343,13 @@ static pj_status_t put_frame_imp( pjmedia_port *port,
stream->is_streaming = PJ_TRUE;
/* Send the RTP packet to the transport. */
- pjmedia_transport_send_rtp(stream->transport, channel->out_pkt,
- frame_out.size + sizeof(pjmedia_rtp_hdr));
+ status = pjmedia_transport_send_rtp(stream->transport, channel->out_pkt,
+ frame_out.size +
+ sizeof(pjmedia_rtp_hdr));
+ if (status != PJ_SUCCESS) {
+ PJ_PERROR(4,(stream->port.info.name.ptr, status,
+ "Error sending RTP"));
+ }
/* Update stat */
pjmedia_rtcp_tx_rtp(&stream->rtcp, frame_out.size);
@@ -1839,11 +1849,21 @@ on_return:
if (len > 0) {
pkt += len;
len = ((pj_uint8_t*)pkt) - ((pj_uint8_t*)stream->enc->out_pkt);
- pjmedia_transport_send_rtcp(stream->transport,
- stream->enc->out_pkt, len);
+ status = pjmedia_transport_send_rtcp(stream->transport,
+ stream->enc->out_pkt,
+ len);
+ if (status != PJ_SUCCESS) {
+ PJ_PERROR(4,(stream->port.info.name.ptr, status,
+ "Error sending RTCP SDES"));
+ }
}
} else {
- pjmedia_transport_send_rtcp(stream->transport, sr_rr_pkt, len);
+ status = pjmedia_transport_send_rtcp(stream->transport,
+ sr_rr_pkt, len);
+ if (status != PJ_SUCCESS) {
+ PJ_PERROR(4,(stream->port.info.name.ptr, status,
+ "Error sending initial RTCP RR"));
+ }
}
stream->initial_rr = PJ_TRUE;
@@ -2249,6 +2269,11 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt,
#endif
pjmedia_rtcp_init2(&stream->rtcp, &rtcp_setting);
+
+ if (info->rtp_seq_ts_set) {
+ stream->rtcp.stat.rtp_tx_last_seq = info->rtp_seq;
+ stream->rtcp.stat.rtp_tx_last_ts = info->rtp_ts;
+ }
}
/* Only attach transport when stream is ready. */