summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/input/librtsp/rtsp.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/input/librtsp/rtsp.c b/src/input/librtsp/rtsp.c
index f12190260..06d0a9a70 100644
--- a/src/input/librtsp/rtsp.c
+++ b/src/input/librtsp/rtsp.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: rtsp.c,v 1.5 2002/12/22 00:35:05 komadori Exp $
+ * $Id: rtsp.c,v 1.6 2003/01/29 10:49:24 miguelfreitas Exp $
*
* a minimalistic implementation of rtsp protocol,
* *not* RFC 2326 compilant yet.
@@ -175,6 +175,7 @@ static ssize_t read_stream(int fd, void *buf, size_t count) {
while (total < count) {
+#if 0
fd_set rset;
struct timeval timeout;
@@ -187,14 +188,21 @@ static ssize_t read_stream(int fd, void *buf, size_t count) {
if (select (fd+1, &rset, NULL, NULL, &timeout) <= 0) {
return -1;
}
+#endif
ret=read (fd, ((uint8_t*)buf)+total, count-total);
- if (ret<=0) {
+ if (ret<0) {
+ if(errno == EAGAIN)
+ continue;
+
printf ("rtsp: read error.\n");
return ret;
} else
total += ret;
+
+ /* end of stream */
+ if (!ret) break;
}
return total;
@@ -424,7 +432,7 @@ int rtsp_send_ok(rtsp_t *s) {
sprintf(cseq,"CSeq: %u", s->cseq);
rtsp_put(s, cseq);
rtsp_put(s, "");
-
+ return 0;
}
/*