fix dccp sender/receiver
[paraslash.git] / ortp_recv.c
index 99b53ad07e3106486fe314576c3a06eadd974b70..d8432abc0b9dbfdc74c2f6279babfb265b318f11 100644 (file)
@@ -40,7 +40,6 @@ extern int msg_to_buf(mblk_t *, char *, int);
  * \sa receiver receiver_node
  */
 struct private_ortp_recv_data {
-
 /**
  *
  *
@@ -106,7 +105,12 @@ static void ortp_recv_post_select(struct sched *s, struct task *t)
        char tmpbuf[CHUNK_SIZE + 3];
        unsigned chunk_time;
 
-//     PARA_DEBUG_LOG("rn: %p, pord: %p, session: %p\n", rn, pord, pord->session);
+//     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;
+               return;
+       }
        t->ret = 1;
        if (pord->start.tv_sec)
                if (tv_diff(&s->now, &pord->next_chunk, NULL) < 0)
@@ -205,8 +209,8 @@ success:
        compute_next_chunk(chunk_time, pord);
        return;
 err_out:
+       rn->eof = 1;
        freemsg(mp);
-       return;
 }
 
 static void ortp_shutdown(void)