Как начать воспроизведение в 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

0 ответов

Другие вопросы по тегам