Как начать воспроизведение в Alsa с вводом-выводом с отображением памяти?
Когда я вызываю snd_pcm_start, появляется ошибка EPIPE. Ожидается, потому что данных нет, я должен сначала заполнить начальные образцы.
Когда я вызываю snd_pcm_status_dump, я получаю следующий файл:
state : PREPARED
trigger_time: 0.000000
tstamp : 0.000000
delay : 0
avail : 12288
avail_max : 0
Через мгновение после получения первых кадров (от источника за пределами Альзы) я звоню snd_pcm_avail_update
, snd_pcm_avail_update
возвращает 0, говоря мне, что нет свободного места для декодирования.
Как начать воспроизведение звука? Для полноты, вот выводsnd_pcm_dump
функция отладки:
Plug PCM: Hardware PCM card 0 'bcm2835 ALSA' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 12288
period_size : 1024
period_time : 21333
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 1024
period_event : 0
start_threshold : 0
stop_threshold : 12288
silence_threshold: 0
silence_size : 0
boundary : 1610612736
appl_ptr : 0
hw_ptr : 0