Używam ALSA API snd_pcm_drop()
do czyszczenia buforów. Ale kiedy kontynuuję audio później z snd_pcm_prepare()
, słyszę część poprzedniego dźwięku, który miał zostać wyczyszczony. Dzieje się tak, gdy mam wysoką wartość snd_pcm_sw_params_set_stop_threshold()
. Jeśli używam niższej wartości, częściowe audio z poprzedniej sesji audio nie będzie odtwarzane.ALSA snd_pcm_drop() nie kasuje kompletnego bufora
Co się tutaj dzieje? Jak całkowicie usunąć bufor?
(jestem nowy na ALSA)
Dzięki
Czy jest opcja użycia snd_pcm_drain() zamiast snd_pcm_drop()? –
Brzmi jak błąd sterownika, ale trudno to powiedzieć bez dodatkowych informacji. –
@Multimedia Mike, Zgodnie z dokumentacją, snd_pcm_drain() nie spowoduje natychmiastowego upuszczenia bufora. Więc nie jest mi przydatny. Tak czy inaczej spróbowałem snd_pcm_drain(), ale obserwacja jest taka sama. –