libfaac: ввод в очередь задним числом
Я использую libav вместе с libfaac для кодирования аудио в aac. следующая логика:
frames[n]
i = 0 ;
while (there are frames)
{
cur_frame = frames[i];
av_encode_audio(frame, ...., &frame_finished);
if( frame_finished )
{
i++;
}
}
но я получаю это досадное предупреждение за несколько кадров "ввод в очередь задним числом!"
1 ответ
Решение
Ответ очень прост: вы не должны снова передавать тот же кадр в libfaac, поэтому даже если frame_finished не равен 1, вы все равно должны перейти к следующему кадру.
это должно быть следующим:
frames[n]
i = 0 ;
while (there are frames)
{
cur_frame = frames[i];
av_encode_audio(frame, ...., &frame_finished);
i++;
}