snd_pcm_writei() rauscht und knackt periodisch

hier soll alles rein, was dieses projekt betrifft: lob, kritik, technikprobleme und verbesserungsvorschläge - hier ist der kummerkasten :-)
Antworten
Martin R
New User
New User
Beiträge: 1
Registriert: Mo Nov 07, 2011 4:08 pm

snd_pcm_writei() rauscht und knackt periodisch

Beitrag 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
Benutzeravatar
Mitsch
Power User
Power User
Beiträge: 1226
Registriert: Mo Feb 20, 2006 11:17 am
Wohnort: Ludwigsburg
Kontaktdaten:

Re: snd_pcm_writei() rauscht und knackt periodisch

Beitrag 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?
brummer
Power User
Power User
Beiträge: 355
Registriert: Mi Jul 16, 2008 10:46 am

Re: snd_pcm_writei() rauscht und knackt periodisch

Beitrag 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
Antworten

Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] und 0 Gäste