size_t vorbis_read ( struct audio_file fd,
int16_t *  buf,
size_t  len 
)

Read data from the Ogg Vorbis file and place it in buf.

Definition at line 111 of file audio_format_vorbis.c.

00112 {
00113         OggVorbis_File *vfp = fd->drv_data;
00114         size_t ret = 0;
00115         long rlen;
00116         char *out = (char *)buf;
00117         
00118         len *= sizeof(int16_t);
00119 
00120         /* Return 16 bits signed native endian */
00121         while (ret < len) {
00122 #if G_BYTE_ORDER == G_BIG_ENDIAN
00123                 rlen = ov_read(vfp, out + ret, len - ret, 1, 2, 1, NULL);
00124 #else /* G_BYTE_ORDER != G_BIG_ENDIAN */
00125                 rlen = ov_read(vfp, out + ret, len - ret, 0, 2, 1, NULL);
00126 #endif /* G_BYTE_ORDER == G_BIG_ENDIAN */
00127                 if (rlen <= 0)
00128                         break;
00129                 ret += rlen;
00130         }
00131         fd->time_cur = ov_time_tell(vfp);
00132 
00133         return (ret / sizeof(int16_t));
00134 }

 All Data Structures Files Functions Variables Defines
Generated on Mon Mar 15 04:45:05 2010 for herrie by  doxygen 1.6.3