doxify acl.c.
[paraslash.git] / ortp_recv.c
index cb0260d855a53ead695ea567c0fe1d6a3e1107fa..83f832a71f4f7d4539a9750df35a482278ece108 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2008 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -123,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;
@@ -150,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;
@@ -168,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);
@@ -222,7 +222,7 @@ success:
        compute_next_chunk(chunk_time, pord);
        return;
 err_out:
-       rn->eof = 1;
+       rn->error = t->ret;
        freemsg(mp);
 }
 
@@ -269,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;
 }