the code has been modified, the file has opened it as binary (with rb), but it even follows the same error. the new code is: /*****************************************/ OggVorbis_File musica; FILE *archiv =NULL; FILE *dec =NULL; archiv = fopen("basta.ogg","rb"); if(archiv==NULL) exit(1); int falla = ov_open(archiv,&musica,NULL,0); if(falla!=0) { switch(falla){ case OV_EREAD : printf("error de lectura");break; case OV_ENOTVORBIS : printf("not vorbis file");break; case OV_EVERSION : printf("version mala");break; case OV_EBADHEADER : printf("de cabecera");break; case OV_EFAULT : printf("falla");break; } Masa. Chile.