|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2000
Messaggi: 936
|
SDL su Linux: Audio e problemi annessi.
Salve a tutti...avrei un quesito da porvi.
Ho scritto un banalissimo player (mp3, Ogg) utilizzando le sopracitate librerie (piu' le SDL_Sound) per rendere il tutto piu' rapido ed indolore... Il player funziona perfettamente ma se comincio a fare altro (tipo spostarmi da un desktop ad un altro o navigare) l'audio, ogni tanto, fa dei salti in avanti mostruosi. Non e' un problema di utilizzo della CPU, visto che il programma non fa praticamente niente tranne chiamare la callback quando serve e nemmeno un problema di buffer underrun (l'audio va avanti e non ha il classico effetto di stuttering tipico del bu). La cosa strana e' che lo stesso problema l'ho riscontrato anche con il programma d'esempio "playsound" della libreria SDL_sound. Qualcuno ha qualche consiglio oppure devo buttarmi direttamente sulle ALSA? Grazie a tutti |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Stai usando un kernel della serie 2.4 o 2.6? Driver oss o ALSA?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2000
Messaggi: 936
|
allora...il kernel e' un 2.4.22...driver ALSA (libalsa2-0.9.6-3)...qualche consiglio?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Ci sono varie cose che puoi provare. Immagino che altri player mp3 (tipo noatun) ti funizonino correttamente.
Se le sdl accedono direttamente a /dev/dsp, stanno usando l'emulazione oss alsa. Se hai installato le SDL compilando i sorgenti, accertati che i pacchetti devel di alsa e artsd erano installati al momento della compilazione, altrimenti stai usando oss tramite alsa. Alcuni driver alsa hanno problemi di questo tipo nell'emulazione oss. Altra cosa, "uccidi" artsd. Non credo che cambierà qualcosa, ma almeno escludi problemi legati ad artsd.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2000
Messaggi: 936
|
ti ringrazio, faro' i dovuti spippolamenti
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Ricorda che se le sdl sono state compilate con il supporto per i vari driver (oss, alsa, arts) per scegliere il driver da usare _non_ devi inizializzare l'audio con SDL_Init(), ma chiamare direttamente SDL_AudioInit() passando il nome del driver che vuoi testare ("oss", "alsa", "artsc").
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2000
Messaggi: 936
|
questa non la sapevo...perdonami ma SDL_AudioInit non la trovo nel DocProject delle SDL...dove l'hai trovata? (o magari sono io demente e cieco
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
"use the source, Luke..."
(almeno gli header delle librerie
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jul 2000
Messaggi: 936
|
vedi che sono cieco...
Thanx master Ilsen-o-sine |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 2000
Messaggi: 936
|
ilsensine, in effetti hai ragione tu...di default era settato DSP come driver audio...quindi OSS e potenzialmente problematico...thanx una cifra
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
@Elysium
PVT!
__________________
Gnu/Linux User
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quindi hai risolto forzando alsa?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jul 2000
Messaggi: 936
|
porcaccia...forzando alsa sia impostando la variabile d'ambiende SDL_AUDIODRIVER che con l'uso di SDL_AudioInit l'inizializzazione fallisce miseramente perche' ritorna un Mutex nullo...temo di dover fare un po di pulizia...o come suggerisce un mio amico passare direttamente a Gentoo
...bene...ho appena provato a ricompilare il programma su un'altra macchina con la configurazione ottimale...il problema persiste...a questo punto mi chiedo se il baco non sia nelle SDL...magari qualche rogna con la gestione dei thread...bah... Ultima modifica di Elysium : 17-03-2004 alle 22:00. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:43.



















