Sto utilizzando l'API ALSA snd_pcm_drop()
per cancellare i buffer. Ma quando continuo audio in seguito con snd_pcm_prepare()
, riesco a sentire parte dell'audio precedente che doveva essere cancellato. Ciò accade quando ho un valore alto di snd_pcm_sw_params_set_stop_threshold()
. Se sto usando un valore più basso, l'audio parziale della precedente sessione audio non verrà riprodotto.ALSA snd_pcm_drop() non cancella il buffer completo
Cosa sta succedendo qui? Come eliminare completamente il buffer?
(io sono nuovo di ALSA)
Grazie
È un'opzione per utilizzare snd_pcm_drain() invece di snd_pcm_drop()? –
Sembra un errore del driver, ma è difficile dirlo senza ulteriori informazioni. –
@Multimedia Mike, Come da documentazione, snd_pcm_drain() non farà cadere immediatamente il buffer. Quindi non è utile per me. In ogni caso ho provato snd_pcm_drain(), ma l'osservazione è la stessa. –