7
我正在使用ALSA API snd_pcm_drop()
清除緩衝區。但是當我以後用snd_pcm_prepare()
繼續播放音頻時,我可以聽到原本應該清除的部分音頻。 發生這種情況時,我有一個高值snd_pcm_sw_params_set_stop_threshold()
。如果我使用較低的值,則不會播放前一個音頻會話的部分音頻。ALSA snd_pcm_drop()未清除完整緩衝區
這裏發生了什麼?如何完全清除緩衝區?
(我是新來的ALSA)
感謝
是否可以使用snd_pcm_drain()而不是snd_pcm_drop()? – 2013-04-05 06:09:02
聽起來像一個驅動程序錯誤,但這是很難說沒有更多的信息。 – 2013-04-05 07:00:36
@Multimedia Mike,根據文檔,snd_pcm_drain()不會立即刪除緩衝區。所以這對我沒有用。反正我試過snd_pcm_drain(),但觀察結果是一樣的。 – 2013-04-05 07:44:36