Avances, Diario de...

Started by SplinterGU, April 17, 2008, 03:00:51 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

no se pueden poner recursos comprimidos en la mochila, por limitaciones de la libreria de compresion.

quizas te convenga solo meter los recursos graficos en la mochila y dejar los sonidos fuera.

realmente no entiendo porque crashea, revise las librerias de files que son las que podrian dar el problema y parecen estar todas bien, pero evidentemente algun manejo de archivos requiere la mixer que aca falla.

aun no logro detectar el problema, viene por el sonido, pero no se por que.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BoMbErLiNk

El crash es solo con la música por streaming no ? El ogg, los wav deberian ser seguros al cargarse en memoria no ?
Más o menos es lo que me quedo claro ayer en todos los tests que hice, quizas deberia probar a reproducir un wav de forma continua a ver que pasa.

--
Free XDD

Que va, no estan encriptados con password, estan "ensuciados" mejor dicho  ;D

SplinterGU

el ogg en cuestion es el que provoca el crash, pero solo en la mochila, quizas alguna operacion este fallando... deberia meter log en cada operacion que se hace y ver que pide y que provoca el crash...

voy a intentar por ahi.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BoMbErLiNk

Ok, sobre un tema relacionado y si te sirve de ayuda, la única SDL_mixer que he encontrado estable durante todos estos meses es la que incluyo en el zip.

Se trata de :
SDL_mixer-devel-1.2.11-VC.zip (http://www.libsdl.org/projects/SDL_mixer)

Tengo verificado que es estable, lo deje 24horas reproduciendo musica de una lista gigante.

Sobre las otras sdl_mixer, probe la oficial y me petaba, sin mochila, al reproducir música simplemente con play_song y de forma muy aleatoria, puede petarte al reproducir la 4 canción de una lista, la 50, etc.. y todo sin tener carga de fpgs por medio, simplemente un programa que reproduzca oggs, he probado todas estas :
1.2.8
1.2.9
1.2.10
1.2.11 (SDL_mixer-1.2.11-win32.zip, de las 2 dlls 1.2.11 esta no estable)

Todas petan, justo cuando haces play_song, lo digo por si quizas hubiera un problema relacionado con alguna función de reproducción, en Wiz me pasa algo parecido con el sonido, pero en lugar de petar, la aplicación se pone a 1fps, con el sonido como atascado, o Wii que da como resultado codedumps.

SplinterGU

ya se cual es el error... todavia no le encontre solucion, pero el problema es que todos los archivos virtuales usan el mismo file pointer de C, y la mixer usa un thread para reproducir la musica, por ende, modifica la posicion del FILE * cuando necesita leer nueva data, y si justo en ese momento otra parte del programa esta leyendo ese archivo, entonces lee cualquier porqueria.

vamos a ver como lo corrijo.

gracias bomber
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Quote from: SplinterGU on March 22, 2011, 08:28:57 PM
ya se cual es el error... todavia no le encontre solucion, pero el problema es que todos los archivos virtuales usan el mismo file pointer de C, y la mixer usa un thread para reproducir la musica, por ende, modifica la posicion del FILE * cuando necesita leer nueva data, y si justo en ese momento otra parte del programa esta leyendo ese archivo, entonces lee cualquier porqueria.

vamos a ver como lo corrijo.

gracias bomber
¿Puede ser por eso que esté fallando la reproducción de OGG en Wii?.

SplinterGU

podria ser, si tenes 2 veces el archivo abierto o si usas mochila.

duplique los handles, pero igual sigo teniendo problemas, tarda mas en caer, pero cae... a ver si no estoy haciendo algo mal.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

bomber... ya esta solucionado, actualiza el repo y generate los ejecutables.

hice un parche feo para mi gusto pero que funciona.

queria hacerlo mas prolijo duplicando handles y/o fds, pero lamentablemente parece que comparten el puntero de posicion, asi que solamente pude hacerlo reabriendo el dcb tantas veces sea necesario.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BoMbErLiNk

Gracias ahora lo pruebo  :)

SplinterGU

gracias a vos por el reporte y el sample... karma++
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BoMbErLiNk

Ey, he hecho el svn up y el ./build-win32.sh
Pero no me genera el bgdc.exe, el bgdi.exe ni el libbgdrtm.dll, te pongo el error :

Quotedcbr.c:209: error: conflicting types for 'dcb_load_from'
../include/bgdrtm.h:74: error: previous declaration of 'dcb_load_from' was here
dcbr.c:209: error: conflicting types for 'dcb_load_from'
../include/bgdrtm.h:74: error: previous declaration of 'dcb_load_from' was here
make[2]: *** [libbgdrtm_la-dcbr.lo] Error 1
make[2]: Leaving directory `/c/msys/1.0/opt/bennugd/core/bgdrtm/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/c/msys/1.0/opt/bennugd/core/bgdrtm'
make: *** [all-recursive] Error 1

SplinterGU

vamos a chequear, creia que lo habia cambiado...

lo raro es que aca me compilo, vamos de nuevo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BoMbErLiNk

Splinter, he probado ambas versiones.

Bennu sigue petando con la SDL_mixer oficial que compilas (creo que es la 1.2.8 ), no en el ejemplo de la mochila, si cargando y reproduciendo simples play_song, no he podido finalizar ni una partida completa.

La SDL_mixer-devel-1.2.11-VC.zip, que es la que yo uso para evitar los crashes con play_song, paradojicamente, muere en el ejemplo de la mochila, pero NO muere nunca con play_song fuera de una mochila.

Me da la impresión de que sigue habiendo algo en play_song / load_song, porque no es normal que peten todas las sdl_mixer excepto una y que esta condicionalmente si muere donde la oficial no.
--

La mochila en Wiz ya funciona bien, los archivos de Bennu pesan más, supongo que no estan pasados por strip, me esperare a la nueva release  :)

SplinterGU

no estan pasados por strip...

entonces, solo peta la version windows con play_song no en mochila? eso si es bien raro, porque sin la mochila, todo el manejo lo hace la SDL_mixer, voy a chequear nuevamente, a ver que pasa en estos casos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2