Original Post
i hope here is the right forum that im attaching this one. ov_read function should return number of bytes that it reads, but it returns 0 for the first time and it means end of file ! here is how i implement char mychar[BUFFER_SIZE ] ; int mysection ; ov_read(&oggStream, mychar , BUFFER_SIZE , 0, 2, 1, &mysection); i also checked that oggStream variable from OggVorbis_File structure is filled correctly ( i looked the channels and frequency etc... )