client_common.c: Kill invalid FIXME.
[paraslash.git] / ortp_recv.c
index fca470ed009962384ce324b274790ef02a433a63..b28d084ab5b6c3664d650a6cf2390556f0aec15a 100644 (file)
@@ -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);
        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;
                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) {
                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;
                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;
                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:
        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);
                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:
        compute_next_chunk(chunk_time, pord);
        return;
 err_out:
-       rn->eof = 1;
+       rn->error = t->ret;
        freemsg(mp);
 }
 
        freemsg(mp);
 }