| Предыдущий | Следующий |
| MF_E_CANNOT_INDEX_IN_PLACE | MF_E_INVALID_ASF_STREAMID |
MF_E_MISSING_ASF_LEAKYBUCKET
Что означает MF_E_MISSING_ASF_LEAKYBUCKET
MF_E_MISSING_ASF_LEAKYBUCKET (0xC00D4658) — Для выполнения запроса необходимо задать параметры «дырявого ведра» ASF.
Для каждого ASF-потока конфигурация должна содержать параметры модели «дырявого ведра» (leaky bucket) — прежде всего битрейт и размер буферного окна. Мультиплексор использует их, чтобы назначать время отправки и строить пакеты в соответствии с заголовком ASF.
Что проверить и как подтвердить исправление
Проверьте MF_ASFSTREAMCONFIG_LEAKYBUCKET1/LEAKYBUCKET2 именно у потока, на котором возникла ошибка, до IMFASFMultiplexer::Initialize. Отсутствие значения у одного потока нельзя компенсировать параметрами другого.
Если поток создаёт кодировщик, берите фактические параметры после согласования его выходного типа мультимедиа: Microsoft отдельно отмечает, что реальный размер буферного окна может быть известен только после настройки кодировщика.
Не подставляйте произвольный битрейт только ради прохождения Initialize. Несогласованные параметры кодировщика и ASF-профиля позже проявятся как MF_E_BANDWIDTH_OVERRUN при пакетизации.
Документация для результата 0xC00D4658: multiplexer leaky-bucket initialization · bandwidth checks during packet generation · FFmpeg ASF muxer source.
Нужно найти другой код? Найти другой код состояния или ошибки.
