Seite 1 von 1

snd_pcm_writei() rauscht und knackt periodisch

Verfasst: Fr Nov 11, 2011 12:42 pm
von Martin R
Hallo,
ich habe folgendes Problem unter Ubuntu mit meiner Sound Routine !
nach der Initialisierung

Code: Alles auswählen

void init()
{
int err = 0;
   err = snd_pcm_hw_params_any(pcmPlaybackHandle, hw_params);
    if(err < 0) { REPORT_(a1.sprintf("Error setting HW params: %s",snd_strerror(err)));   Assert(false); }
    err = snd_pcm_hw_params_set_format(pcmPlaybackHandle, hw_params, SND_PCM_FORMAT_S16_LE);
    if(err < 0) { REPORT_(a1.sprintf("Error setting HW params: %s",snd_strerror(err)));   Assert(false); }
    err = snd_pcm_hw_params_set_channels(pcmPlaybackHandle, hw_params, Audio_channels);
    if(err < 0) { REPORT_(a1.sprintf("Error setting HW params: %s",snd_strerror(err)));   Assert(false); }
    err = snd_pcm_hw_params_set_rate_near(pcmPlaybackHandle, hw_params, &Audio_Samplerate,0);  
    if(err < 0) { REPORT_(a1.sprintf("Error setting HW params: %s",snd_strerror(err)));   Assert(false); }
    err = snd_pcm_hw_params_set_periods_near(pcmPlaybackHandle, hw_params, &Audio_fragments, 0);
    if(err < 0) { REPORT_(a1.sprintf("Error setting HW params: %s",snd_strerror(err)));   Assert(false); }
    err = snd_pcm_hw_params_set_buffer_size_near(pcmPlaybackHandle, hw_params, &Audio_frames));
    if(err < 0) { REPORT_(a1.sprintf("Error setting HW params: %s",snd_strerror(err)));   Assert(false); }
    err = snd_pcm_hw_params(pcmPlaybackHandle, hw_params);
    if(err < 0) { REPORT_(a1.sprintf("Error setting HW params: %s",snd_strerror(err)));   Assert(false); }
}

schreibe ich in einem Thread Audiodaten auf die Karte.

Code: Alles auswählen

       
      snd_pcm_prepare(pcmPlaybackHandle);
      snd_pcm_writei(pcmPlaybackHandle,AudioData, Audio_BufferSize);
es funktioniert auch, und ich kann die Audiodaten hören. aber ein periodisches Knacken ( + rauschen) ist auch im Hintergrund zu hören.
hat jemand Erfahrung mit der ALsa und kann jemand mir einen Tip geben?

Danke

Re: snd_pcm_writei() rauscht und knackt periodisch

Verfasst: Sa Nov 12, 2011 11:46 pm
von Mitsch
Bevor jetzt gar niemand darauf antwortet…

Hi! Willkommen bei audio4linux!

Ich bin mir sicher, dass sich hier Leute tummeln, die verstehen, um was es geht. Leider gehöre ich nicht dazu… :)
Einfach ein wenig Geduld - irgendwann stoßen "unsere Coder" bestimmt auf die Frage hier und dann wird eine Antwort nicht lange auf sich warten lassen.

Grüße!

PS: Ich glaube, die Kategorie passt nicht - aber es scheint auch keine andere zu passen! Wir sollten vielleicht noch eine Rubrik namens "Entwickler" (oder so) ins Forum setzen. Noch jemand dafür?

Re: snd_pcm_writei() rauscht und knackt periodisch

Verfasst: Di Jan 17, 2012 3:56 pm
von brummer
Das kann verschiedene Ursachen haben, dein source Ausschnitt ist zu klein um da was zu zu sagen.

Vielleicht hilft es dir ja wenn du dir mal das alsa backend von faust anschaust :
http://faudiostream.git.sourceforge.net ... 8a;hb=HEAD

insbesondere die settings für das überspielen des buffer's und die Priorität settings könnte bei dir eine rolle spielen,

gruß
brummer