Foros - Stratos

Programadores => Programación de audio => Mensaje iniciado por: DraKKaR en 23 de Octubre de 2003, 03:45:13 PM

Título: Ogg: Problemas Con La Función
Publicado por: DraKKaR en 23 de Octubre de 2003, 03:45:13 PM
 Hola, seré breve: estoy utilizando la libreria vorbis para implementar OGG en mi motor.
El problema es que al ejecutar la función ov_open() el programa explota por los aires. Por inet dicen que es por linkar contra librerias que no toca, pero he probado de todo y no funciona. ¿Alguien sabe algo de esto?

El código donde peta es:


oggFile=fopen(file,"rb");
if (!oggFile)
{
 ERROR_STUFF(ERROR_FILENOTFOUND,file);
 return false;
}

if (ov_open(oggFile,&oggStream,NULL,0)<0)  // <--- Aqui está el problema
{
 fclose(oggFile);
 ERROR_STUFF(ERROR_LOADINGFILE,file);
 return false;
}


Se que algunos de vosotros habeis implementado esto mismo y puede que os hayais topado con este problema. Agradecería cualquier pista.

Gracias.
Título: Ogg: Problemas Con La Función
Publicado por: seryu en 23 de Octubre de 2003, 04:47:26 PM
 como me lo has pedido a titulo personal en el otro foro, voy a hacer lo qe casi nunca hago, y es responder dudas de programacion en foros.

suponiendo el resto de codigo.. yo diria qe esta todo bien, no parece un problema de tu codigo.

eso de qe te peta es xqe simplemente se corta el programa y adios, o te devuelve un error?? xqe de ser asi podrias mirar el tipo de error, qe puede darte una mejor ayuda...

por cierto, yo qe tu probaria a compilar con la libreria estatica, de esa forma sabras si es un problema de dll's

espero haberte sido de ayuda, y siento no poder decirte mucho mas  :)  
Título: Ogg: Problemas Con La Función
Publicado por: DraKKaR en 23 de Octubre de 2003, 04:58:51 PM
 Primero de todo, gracias por responder.

Citar
eso de qe te peta es xqe simplemente se corta el programa y adios, o te devuelve un error?? xqe de ser asi podrias mirar el tipo de error, qe puede darte una mejor ayuda...


Cuando entra a ejecutar la función ov_open() el programa saca por pantalla el típico error de cuando intentas acceder a una posición de memoria inválida y al darle a "no enviar" se cierra.


Probaré lo de linkar con las librerias estáticas a ver como va.
De todas formas me gustaría ver código fuente donde esto funcione.

¿Nadie más ha hecho nada con la SDK de vorbis para reproducir archivos OGG?
Título: Ogg: Problemas Con La Función
Publicado por: ShAq en 23 de Octubre de 2003, 06:42:32 PM
 Bueno te puedo enseñar el trozo de codigo de mi libreria en el que abro el fichero.
En la libreria he linkado con las librerias estaticas ( vorbisfile_static.lib ogg_static.lib )
aunque es igual ke tu codigo, xD, pero te aseguro ke funciona. (ole)

// open OGG file
   FILE    *f;
   OggVorbis_File vf;    
   f = fopen(filename, "rb");
   if (!f) return false;
   ov_open(f, &vf, NULL, 0);


suerte B)  
Título: Ogg: Problemas Con La Función
Publicado por: synchrnzr en 23 de Octubre de 2003, 07:45:06 PM
 Si tienes reservada en oggStream memoria suficiente para contener una estructura OggVorbis_File está bien el código. Del tema del linkaje no te puedo decir nada obviamente :lol:

sync
Título: Ogg: Problemas Con La Función
Publicado por: DraKKaR en 23 de Octubre de 2003, 08:38:28 PM
 Será posible: pues acabo de lincar contra las librerias estáticas de la OGG y funciona! De todas formas creia que ya habia probado eso v.V
¿Como es posible que las propias DLLs que vienen con el SDK den ese error?
En fin, gracias a todos chicos! ahora por lo menos ya no rebienta el programa en esa función, lo único que pasa ahora es que no se oye nada XDDD.. pero eso corre de mi cuenta el arreglarlo.  (nooo)
Título: Ogg: Problemas Con La Función
Publicado por: Astat en 23 de Octubre de 2003, 08:49:46 PM
 solo un comentario a proposito de usar OggVorbis... nosotros lo estabamos usando junto con la genial libreria de fisica ODE, y nos dio muchos problemas al cambiar el modo de la unidad de flotantes. Esto probocaba errores catastroficos en la libreria de fisica. Intentamos usar la version que no usa flotantes de Ogg (pensada para dispositivos portatiles) y la tubimos que desechar porque bajaba bastante los fps.

Al final usamos los graphs de dsound con el codec WMA.

Un saludo
Título: Ogg: Problemas Con La Función
Publicado por: DraKKaR en 23 de Octubre de 2003, 10:52:45 PM
 Bien, ya he corregido el fallo y ya reproduce los OGG correctamente.

Astat: yo no aprecio ninguna bajada de rendimiento al reproducir los OGG.

Gracias a todos por atenderme  ;)  
Título: Ogg: Problemas Con La Función
Publicado por: seryu en 23 de Octubre de 2003, 11:50:25 PM
 joer, xqe no me haran a mi tanto caso cuando posteo dudas?  (grrr)  
Título: Ogg: Problemas Con La Función
Publicado por: Astat en 24 de Octubre de 2003, 02:13:51 AM
 La bajada en los fps la notamos cuando usamos la version SIN FLOTANTES de OggVorbis (creo que se llama "Tremor"), no con la original.
Título: Ogg: Problemas Con La Función
Publicado por: seryu en 31 de Octubre de 2003, 01:03:40 PM
Cita de: "Astat"

Al final usamos los graphs de dsound con el codec WMA.

Un saludo
os recomiendo usar entonces directshow y tirar de un filtro de vorbis ogg.

ademas, trabajando con directx es la forma mas rapida de poder cargar el formato qe qerais, mp3, wma, ogg.. o los qe tengan qe venir. esta tirado programarlo asi..
Título: Ogg: Problemas Con La Función
Publicado por: DraKKaR en 31 de Octubre de 2003, 03:02:55 PM
 Seryu: pero se pierde portabilidad.

Quizá con la llegada de OpenML....
Título: Ogg: Problemas Con La Función
Publicado por: seryu en 31 de Octubre de 2003, 03:06:57 PM
Cita de: "DraKKaR"Seryu: pero se pierde portabilidad.

Quizá con la llegada de OpenML....
drakkar, qe portabilidad pierdes usando directshow envez de directsound?? me parece qe has entendido mal los post.  O_O  
Título: Ogg: Problemas Con La Función
Publicado por: Mars Attacks en 31 de Octubre de 2003, 06:13:05 PM
 Estaba respondiendo a Astat, no a ti, Drakkar :)
Título: Ogg: Problemas Con La Función
Publicado por: DraKKaR en 31 de Octubre de 2003, 08:17:16 PM
 Mea culpa. Pasaré toda la noche fustigándome para resarcirme de mi error.
Título: Ogg: Problemas Con La Función
Publicado por: seryu en 01 de Noviembre de 2003, 12:07:18 PM
 pos ya qe estas echate sal cuando acabes.

x ciertop, lo de openml al final se puede usar, merece la pena, no es una pajada mental qe acabara peor qe openal??
Título: Ogg: Problemas Con La Función
Publicado por: DraKKaR en 01 de Noviembre de 2003, 01:14:45 PM
 ¿Esta vez es a mi? XDD
Weno, de todos modos respondo: lo que yo se de OpenML es que es un kit de desarrollo multimedia como lo es directx para windows, pero en libre y portable. Creo que se compone de OpenGL para los gráficos, OpenAL para el sonido y no se que ostias más para el input y todo lo demás. En teoria tiene buena pinta, pero al final es lo mismo de siempre: si nadie lo usa pq prefieren usar directx, pues no hay nada que hacer.

PD: Porque dices que OpenAL es una pajada mental? de los que han respondido en este thread (o era el otro sobre que API usar?) veo que muchos han decidido usar openal + ogg para sus proyectos ye stán contentos con ello. Yo también lo he hecho y tambíen lo estoy.
Título: Ogg: Problemas Con La Función
Publicado por: seryu en 01 de Noviembre de 2003, 07:53:00 PM
 preguntaba si openml era una pajada mental, no qe openal lo fuera.

de openAL solo he dicho qe la tienen olvidada.