SwrContext *swr_ctx = swr_alloc_set_opts(NULL,
AV_CH_LAYOUT_STEREO,
AV_SAMPLE_FMT_FLT,
sample_rate,
pCodecParameters->channel_layout,
pCodecParameters->format,
pCodecParameters->sample_rate,
0,
NULL);
что такое AV_SAMPLE_FMT_FLT? Я уже читал документы, но хочу знать, что такое макет с плавающей запятой в контексте аудио. Как на самом деле двоичные данные аудио будут выглядеть в этом формате.
Это означает, что каждая выборка находится в одном буфере, а данные каждой выборки - 32-битные с плавающей запятой. Буфер AFAIK структурирован следующим образом:
[SAMPLE_CH0][SAMPLE_CH1]...[SAMPLE_CHn]
[SAMPLE_CH0][SAMPLE_CH1]...[SAMPLE_CHn]
И так далее. Это повторяется количество "образцов" раз.
Хотя я могу ошибаться, вам нужно проверить это самостоятельно.