[xiph-cvs] cvs commit: vorbis/lib vorbisfile.c

Monty xiphmont at xiph.org
Tue Mar 11 15:52:02 PST 2003



xiphmont    03/03/11 18:52:02

  Modified:    lib      vorbisfile.c
  Log:
  Vorbisfile raw seeking failed unit tests on a one-audio-page saple;
  committing fix.

Revision  Changes    Path
1.69      +22 -19    vorbis/lib/vorbisfile.c

Index: vorbisfile.c
===================================================================
RCS file: /usr/local/cvsroot/vorbis/lib/vorbisfile.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- vorbisfile.c	6 Mar 2003 22:05:26 -0000	1.68
+++ vorbisfile.c	11 Mar 2003 23:52:02 -0000	1.69
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: stdio-based convenience library for opening/seeking/decoding
- last mod: $Id: vorbisfile.c,v 1.68 2003/03/06 22:05:26 xiphmont Exp $
+ last mod: $Id: vorbisfile.c,v 1.69 2003/03/11 23:52:02 xiphmont Exp $
 
  ********************************************************************/
 
@@ -969,26 +969,29 @@
             thisblock=vorbis_packet_blocksize(vf->vi+vf->current_link,&op);
             if(thisblock<0){
               ogg_stream_packetout(&vf->os,NULL);
-	      continue;
+	      thisblock=0;
+	    }else{
+	      
+	      if(eosflag)
+	      ogg_stream_packetout(&vf->os,NULL);
+	      else
+		if(lastblock)accblock+=(lastblock+thisblock)>>2;
+	    }	    
+
+	    if(op.granulepos!=-1){
+	      int i,link=vf->current_link;
+	      ogg_int64_t granulepos=op.granulepos-vf->pcmlengths[link*2];
+	      if(granulepos<0)granulepos=0;
+	      
+	      for(i=0;i<link;i++)
+		granulepos+=vf->pcmlengths[i*2+1];
+	      vf->pcm_offset=granulepos-accblock;
+	      break;
             }
-	  }
-	  if(eosflag)
+	    lastblock=thisblock;
+	    continue;
+	  }else
             ogg_stream_packetout(&vf->os,NULL);
-	  else
-	    if(lastblock)accblock+=(lastblock+thisblock)>>2;
-
-	  if(op.granulepos!=-1){
-	    int i,link=vf->current_link;
-	    ogg_int64_t granulepos=op.granulepos-vf->pcmlengths[link*2];
-	    if(granulepos<0)granulepos=0;
-	    
-	    for(i=0;i<link;i++)
-	      granulepos+=vf->pcmlengths[i*2+1];
-	    vf->pcm_offset=granulepos-accblock;
-	    break;
-	  }
-	  lastblock=thisblock;
-	  continue;
         }
       }
       

<p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the commits mailing list