X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=ortp_recv.c;h=83f832a71f4f7d4539a9750df35a482278ece108;hp=fca470ed009962384ce324b274790ef02a433a63;hb=cd8bb5a2d51179a31842a2cd7012cad28deea78d;hpb=4b950b07a628025f62240ba385504431c216c9fa diff --git a/ortp_recv.c b/ortp_recv.c index fca470ed..83f832a7 100644 --- a/ortp_recv.c +++ b/ortp_recv.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2007 Andre Noll + * Copyright (C) 2005-2008 Andre Noll * * 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); }