1

Я пытаюсь чередовать данные двух монофреймов в один стереофонический кадр. Указатели монофонического кадра - in_frame1 и in_frame2, а указатель стереофонического кадра - out_frame. Примерным форматом как для входных, так и для выходных кадров является AV_SAMPLE_FMT_S16.

Количество выборок в каждом кадре (как входящем, так и исходящем) (nb_samples) равно 160, а размер строки [0] для in_frames равен 320 каждый, а размер строки [0] для выходного кадра равен 640.

byte*ptr = out_frame->data[0];
byte *ptr1 = in_frame1->data[0];
byte*ptr2 = in_frame2->data[0];

for(int k = 0; k < out_frame->nb_samples; k++)
{
//Take two bytes from the first mono frame
*ptr++ = *ptr1++;
*ptr++ = *ptr1++;
//Take next two bytes from the second mono frame
*ptr++ = *ptr2++;
*ptr++ = *ptr2++;
}

Однако выходной звук одинаков для обоих каналов (первый монофонический звук или выходной второй монофонический звук). Выход имеет оба канала, но одинаковый звук на обоих каналах.

0