user_list.c: Minor documentation impreovements.
[paraslash.git] / ortp_recv.c
index c969672..83f832a 100644 (file)
@@ -1,19 +1,7 @@
 /*
- * Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2008 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 */
 
@@ -135,9 +123,9 @@ static void ortp_recv_post_select(__a_unused struct sched *s, struct task *t)
        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;
@@ -162,11 +150,11 @@ static void ortp_recv_post_select(__a_unused struct sched *s, struct task *t)
                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;
@@ -180,8 +168,8 @@ static void ortp_recv_post_select(__a_unused struct sched *s, struct task *t)
        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);
@@ -234,7 +222,7 @@ success:
        compute_next_chunk(chunk_time, pord);
        return;
 err_out:
-       rn->eof = 1;
+       rn->error = t->ret;
        freemsg(mp);
 }
 
@@ -281,11 +269,9 @@ static int ortp_recv_open(struct receiver_node *rn)
        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;
 }