| Предыдущий | Следующий |
| MF_E_ALREADY_INITIALIZED | MF_E_LATE_SAMPLE |
MF_E_BANDWIDTH_OVERRUN
Что означает MF_E_BANDWIDTH_OVERRUN
MF_E_BANDWIDTH_OVERRUN (0xC00D4651) — Объём переданных данных превышает заданный битрейт и размер буферного окна.
Этот HRESULT относится к ASF-модели «дырявого ведра» (leaky bucket): размер и время очередного медиасэмпла не укладываются в ограничения потока, заданные битрейтом и размером буферного окна. При таком отказе мультиплексор отбрасывает текущий сэмпл; к пропускной способности сети этот код напрямую не относится.
Что проверить и как подтвердить исправление
Запишите номер ASF-потока, временную метку, размер закодированного сэмпла, настроенный битрейт, размер буферного окна и ближайшие времена отправки. Ищите первое место, где фактический поток начинает выходить за параметры профиля.
Сверьте параметры этой модели с фактическим выходом кодировщика. Если приложение намеренно разрешает автоматическую корректировку, включите предусмотренный режим ASF-мультиплексора до генерации пакетов; иначе исправьте несоответствие между кодировщиком и профилем.
Не повторяйте тот же отклонённый сэмпл без изменения состояния: устойчивое превышение лимита останется тем же. Отличайте этот код от MF_E_LATE_SAMPLE, где проблема в том, что метка времени представления уже оказалась позади текущего времени отправки.
Документация для результата 0xC00D4651: ASF bandwidth-overrun rules · ProcessSample return values · leaky-bucket configuration.
Нужно найти другой код? Найти другой код состояния или ошибки.