diff options
author | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-04-25 15:42:44 +0000 |
---|---|---|
committer | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-04-25 15:42:44 +0000 |
commit | 83d45ef4a0e6c4e8648e247fc5ac7969b493df09 (patch) | |
tree | f9fc1dde314936521e228148cc525c9489b74473 | |
parent | 79b028bc549b3d27b5d4315309aff87da9e1a9cf (diff) | |
download | mpv-83d45ef4a0e6c4e8648e247fc5ac7969b493df09.tar.bz2 mpv-83d45ef4a0e6c4e8648e247fc5ac7969b493df09.tar.xz |
More keyframe search fix for VP6x
Fix by Reza Jelveh
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12278 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | libmpdemux/demux_nsv.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libmpdemux/demux_nsv.c b/libmpdemux/demux_nsv.c index d49aafdbf5..5b2a96d936 100644 --- a/libmpdemux/demux_nsv.c +++ b/libmpdemux/demux_nsv.c @@ -265,19 +265,19 @@ demuxer_t* demux_open_nsv ( demuxer_t* demuxer ) (priv->v_format==mmioFOURCC('V','P','6','2')) || (priv->v_format==mmioFOURCC('V','P','3','1'))) { stream_read(demuxer->stream,buf,10); - if (((((priv->v_format>>16) & 0xff) == '6') && ((buf[8]&0x0f)!=0x06)) || + if (((((priv->v_format>>16) & 0xff) == '6') && ((buf[8]&0x0e)!=0x06)) || ((((priv->v_format>>16) & 0xff) == '3') && (buf[8]!=0x00 || buf[9]!=0x08))) { mp_msg(MSGT_DEMUX,MSGL_V,"demux_nsv: searching %.4s keyframe...\n", (char*)&priv->v_format); - while(((((priv->v_format>>16) & 0xff) == '6') && ((buf[8]&0x0f)!=0x06)) || + while(((((priv->v_format>>16) & 0xff) == '6') && ((buf[8]&0x0e)!=0x06)) || ((((priv->v_format>>16) & 0xff) == '3') && (buf[8]!=0x00 || buf[9]!=0x08))){ mp_msg(MSGT_DEMUX,MSGL_DBG2,"demux_nsv: %.4s block skip.\n", (char*)&priv->v_format); videolen=(buf[2]>>4)|(buf[3]<<4)|(buf[4]<<0xC); audiolen=(buf[5])|(buf[6]<<8); stream_skip(demuxer->stream, videolen+audiolen-3); stream_read(demuxer->stream,buf,10); + if(stream_eof(demuxer->stream)) return 0; if(buf[0]==0x4E){ mp_msg(MSGT_DEMUX,MSGL_DBG2,"demux_nsv: Got NSVs block.\n"); - if(stream_eof(demuxer->stream)) return 0; stream_skip(demuxer->stream,7); stream_read(demuxer->stream,buf,10); } |