size_t packet_size;
// PARA_INFO_LOG("rn: %p, pord: %p, session: %p\n", rn, pord, pord->session);
- t->ret = -E_ORTP_RECV_EOF;
- if (rn->output_eof && *rn->output_eof) {
- rn->eof = 1;
+ if (rn->output_error && *rn->output_error) {
+ rn->error = *rn->output_error;
+ t->ret = rn->error;
return;
}
t->ret = 1;
pord->start = *now;
t->ret = msg_to_buf(mp, tmpbuf, CHUNK_SIZE);
if (t->ret < ORTP_AUDIO_HEADER_LEN) {
- rn->eof = 1;
if (t->ret < 0)
t->ret = -E_MSG_TO_BUF;
else
t->ret = -E_ORTP_RECV_EOF;
+ rn->error = t->ret;
goto err_out;
}
packet_size = t->ret;
switch (packet_type) {
unsigned header_len, payload_len;
case ORTP_EOF:
- rn->eof = 1;
- t->ret = -E_ORTP_RECV_EOF;
+ t->ret = -E_RECV_EOF;
+ rn->error = t->ret;
goto err_out;
case ORTP_BOF:
PARA_INFO_LOG("bof (%zu)\n", packet_size);
compute_next_chunk(chunk_time, pord);
return;
err_out:
- rn->eof = 1;
+ rn->error = t->ret;
freemsg(mp);
}
rtp_session_set_local_addr(pord->session, c->host_arg, c->port_arg);
rtp_session_set_remote_addr(pord->session, c->host_arg, c->port_arg);
rtp_session_set_payload_type(pord->session, PAYLOAD_AUDIO_CONTINUOUS);
- if (c->jitter_compensation_arg) {
- rtp_session_enable_adaptive_jitter_compensation(pord->session, TRUE);
- rtp_session_set_jitter_compensation(pord->session,
+ rtp_session_enable_adaptive_jitter_compensation(pord->session, TRUE);
+ rtp_session_set_jitter_compensation(pord->session,
c->jitter_compensation_arg);
- }
return 1;
}