Что означает код HRESULT 0xC00D36B5 (MF_E_NOTACCEPTING)?

 
Предыдущий Следующий
MF_E_INVALIDMEDIATYPE MF_E_NOT_INITIALIZED

MF_E_NOTACCEPTING

Что означает результат

MF_E_NOTACCEPTING: Media Foundation Transform временно не принимает новый input sample, потому что сначала должен выдать или обработать уже накопленные данные. Это состояние потока MFT.

Что проверить

  • После ProcessInput вызывайте ProcessOutput в соответствии с контрактом transform и забирайте доступный результат.
  • Проверяйте сообщения drain/flush и границы потока: старое состояние очереди может сохраняться до правильного уведомления.
  • Не пересоздавайте MFT при каждом MF_E_NOTACCEPTING — для многих transforms это штатный back-pressure.
  • Если progress не появляется, сохраните sequence ProcessInput/ProcessOutput и stream IDs для поиска нарушенного порядка.

Диагностика и исправление

Продолжайте штатный цикл MFT: получите доступный output и затем снова подайте input. Ошибку следует искать только если transform не делает progress при корректной последовательности вызовов.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.