Некоторое время я использовал gsm кодек для сетевого аудио чата. Теперь я хотел бы реализовать что-то вроде speex или iLBC из-за «голосового предсказания». Насколько я понимаю, мне нужны временные метки для пакетов. Также я знаю, что для того, чтобы кодек предсказывал голос, я должен, например, передать ему NULL-пакет.
Но я не могу понять всей концепции! То есть: приложение отправляет пакеты 1,2,3,4,5,6. Я получаю 1,2,3,6. Что мне делать?
Получите 1 - Сыграйте.
Получите 2 - Играйте.
Получите 3 - Играйте.
Получите 6 - Хм... Играйте 4,5 как NULL, а затем играйте 6 ?
А что, если будет потеряно слишком много пакетов?