Mercurial > mplayer.hg
changeset 22750:8e7b3260e985
Declare eof only when stream 0 gets eof
Fixes premature eof on rtsp://vodreal.stanford.edu/opa/philo/061022.rm
author | rtogni |
---|---|
date | Tue, 20 Mar 2007 22:32:38 +0000 |
parents | f088d69b1667 |
children | 3d83d77f5a6b |
files | stream/realrtsp/real.c |
diffstat | 1 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/stream/realrtsp/real.c Tue Mar 20 22:30:51 2007 +0000 +++ b/stream/realrtsp/real.c Tue Mar 20 22:32:38 2007 +0000 @@ -359,7 +359,15 @@ #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; }