/*
* Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ * Licensed under the GPL v2. For licencing details see COPYING.
*/
/** \file ortp_recv.c paraslash's ortp receiver */
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;
}