cannam@86:
cannam@86:
cannam@86:
cannam@86: #include
cannam@86: #include
cannam@86: #include "vorbis/codec.h"
cannam@86: #include "vorbis/vorbisfile.h"
cannam@86:
cannam@86: int main(){
cannam@86: OggVorbis_File ov;
cannam@86: int i;
cannam@86:
cannam@86: #ifdef _WIN32 /* We need to set stdin to binary mode under Windows */
cannam@86: _setmode( _fileno( stdin ), _O_BINARY );
cannam@86: #endif
cannam@86:
cannam@86: /* open the file/pipe on stdin */
cannam@86: if(ov_open_callbacks(stdin,&ov,NULL,-1,OV_CALLBACKS_NOCLOSE)==-1){
cannam@86: printf("Could not open input as an OggVorbis file.\n\n");
cannam@86: exit(1);
cannam@86: }
cannam@86:
cannam@86: /* print details about each logical bitstream in the input */
cannam@86: if(ov_seekable(&ov)){
cannam@86: double length=ov_time_total(&ov,-1);
cannam@86: printf("testing seeking to random places in %g seconds....\n",length);
cannam@86: for(i=0;i<100;i++){
cannam@86: double val=(double)rand()/RAND_MAX*length;
cannam@86: ov_time_seek(&ov,val);
cannam@86: printf("\r\t%d [%gs]... ",i,val);
cannam@86: fflush(stdout);
cannam@86: }
cannam@86:
cannam@86: printf("\r \nOK.\n\n");
cannam@86: }else{
cannam@86: printf("Standard input was not seekable.\n");
cannam@86: }
cannam@86:
cannam@86: ov_clear(&ov);
cannam@86: return 0;
cannam@86: }
cannam@86:
cannam@86:
cannam@86: |
cannam@86:
cannam@86: