| Предыдущий | Следующий |
| NS_E_WMP_WMDM_FAILURE | NS_E_WMP_CODEC_NEEDED_WITH_FORMATTAG |
NS_E_WMP_CODEC_NEEDED_WITH_4CC
Практический смысл
Практический смысл NS_E_WMP_CODEC_NEEDED_WITH_4CC (0XC00D11A1): для видео FourCC не найден подходящий установленный декодер. В трассировке отделяйте маркер «codec needed with 4cc» от последующих wrapper/UI ошибок: они могут появиться уже после первичной границы и не объясняют исходное состояние.
Свидетельства
До повторной попытки запишите Player/API call, активный media object и состояние декодера/библиотеки. Для условия «для видео FourCC не найден подходящий установленный декодер» эти данные важнее общего текста сообщения, потому что позволяют связать результат с конкретным владельцем операции.
- FourCC или WAVE format tag и фактический media subtype.
- список реально доступных decoder/codec components.
- тот же media sample в известном рабочем декодере.
| Наблюдение | Что оно означает |
|---|---|
| Первый вызов возвращает NS_E_WMP_CODEC_NEEDED_WITH_4CC | Граница «для видео FourCC не найден подходящий установленный декодер» относится к текущему объекту и generation; сохраните это состояние до cleanup. |
| После одного целевого изменения код исчезает | Связь с условием «для видео FourCC не найден подходящий установленный декодер» подтверждается только если остальные входы и owning context не изменились. |
| Первым становится другой HRESULT | Считайте его новой первичной границей; маркер «codec needed with 4cc» больше не должен подменять причину следующего отказа. |
Специфическая проверка для этого кода
Сохраните FourCC из video stream header в исходном виде и сопоставьте его с фактически зарегистрированными video decoders. Не заменяйте FourCC названием контейнера: AVI/ASF может содержать разные видеокодеки. Полезный контроль — тот же sample с неизменным FourCC в известном декодере и отдельная проверка Media Foundation/DirectShow registration. Этот код относится к video subtype, а не к WAVE format tag аудиопотока.
Проверка одной переменной
Контрольный запуск должен воспроизводить «для видео FourCC не найден подходящий установленный декодер» на тех же исходных данных. Затем исправьте конкретный file/codec/device/library precondition и заново создайте соответствующий media object. Если операция проходит прежнюю стадию, гипотеза локализована; если нет — вернитесь к первому HRESULT и сохранённым полям.
- Зафиксируйте первый
NS_E_WMP_CODEC_NEEDED_WITH_4CCи объект, которому принадлежит маркер «codec needed with 4cc». - Сохраните входные данные и lifecycle-state до изменения условия «для видео FourCC не найден подходящий установленный декодер».
- Измените только состояние, связанное с «для видео FourCC не найден подходящий установленный декодер», и выполните тот же вызов ещё раз.
Как подтвердить исправление
Не переустанавливайте Player и не перекодируйте единственную копию файла до фиксации исходного media state. Исправление считается реальным, когда прежняя граница «для видео FourCC не найден подходящий установленный декодер» пройдена на сопоставимом входе, а не просто скрыта более общим сообщением.
Документация
- Supported protocols and file types.
- Using Windows Media in DirectShow.
- Working with codecs.
- DirectShow filters.
- Microsoft HRESULT registry.
Нужно найти другой код? Найти другой код состояния или ошибки.