[MPlayer-cvslog] r22768 - trunk/stream/realrtsp/real.c

rtogni subversion at mplayerhq.hu
Tue Mar 20 23:32:38 CET 2007


Author: rtogni
Date: Tue Mar 20 23:32:38 2007
New Revision: 22768

Modified:
   trunk/stream/realrtsp/real.c

Log:
Declare eof only when stream 0 gets eof
Fixes premature eof on rtsp://vodreal.stanford.edu/opa/philo/061022.rm


Modified: trunk/stream/realrtsp/real.c
==============================================================================
--- trunk/stream/realrtsp/real.c	(original)
+++ trunk/stream/realrtsp/real.c	Tue Mar 20 23:32:38 2007
@@ -359,7 +359,15 @@ int real_get_rdt_chunk(rtsp_t *rtsp_sess
 #ifdef LOG
     printf("got flags1: 0x%02x\n",flags1);
 #endif
-    if(header[6] == 0x06) {
+    if(header[6] == 0x06) { // eof packet
+      rtsp_read_data(rtsp_session, header, 7); // Skip the rest of the eof packet
+      /* Some files have short auxiliary streams, we must ignore eof packets
+       * for these streams to avoid premature eof.
+       * Now the code declares eof only if the stream with id == 0 gets eof
+       * (old code was: eof on the first eof packet received).
+       */
+      if(flags1 & 0x7c) // ignore eof for streams with id != 0
+        return 0;
       mp_msg(MSGT_STREAM, MSGL_INFO, "realrtsp: Stream EOF detected\n");
       return -1;
     }



More information about the MPlayer-cvslog mailing list