| Предыдущий | Следующий |
| NS_E_WMP_AUDIO_CODEC_NOT_INSTALLED | NS_E_WMP_IMAPI_DEVICE_INVALIDTYPE |
NS_E_WMP_VIDEO_CODEC_NOT_INSTALLED
Диагностика NS_E_WMP_VIDEO_CODEC_NOT_INSTALLED в тракте воспроизведения Windows Media Player
NS_E_WMP_VIDEO_CODEC_NOT_INSTALLED (0xC00D11C8) возвращается, когда ни один установленный видеодекодер не принимает подтип потока, объявленный фильтром источника.
Для этого результата, раздельно отслеживайте разрешение пути или URL, выбор прокси и сети, обнаружение парсера и кодека, построение графа, рендеринг и при необходимости DRM. В данном случае определяющая граница — ни один установленный видеодекодер не принимает подтип потока, объявленный фильтром источника. NS_E_WMP_VIDEO_CODEC_NOT_INSTALLED наиболее полезен как контрольная точка проигрывателя, а не как рекомендация переустановить всё.
Граница воспроизведения
AllStat уже предоставляет стандартное пользовательское описание для этого результата; этот дополнительный блок выделяет более узкую техническую границу. Успешный поиск файла, сетевое соединение, создание анализатора или построение графа на предыдущем этапе не доказывают, что последующая операция, возвращающая этот HRESULT, допустима.
Контрольная точка для данного случая: FourCC/подтип, размеры, профиль/уровень, тип мультимедиа выходного pin, CLSID декодеров и журнал графа. Контролируемое сравнение для этого результата состоит в построении графа для короткого образца с тем же подтипом и проверке принятия входного типа декодером.
Ближайшее различие: NS_E_WMP_CODEC_NEEDED_WITH_4CC отдельно подчёркивает FourCC, по которому ищется отсутствующий декодер.
Зафиксируйте первый отказавший уровень
| Зафиксируйте | Почему это важно для этого результата |
|---|---|
| Объект или ресурс | FourCC/подтип, размеры, профиль/уровень, тип мультимедиа выходного pin, CLSID декодеров и журнал графа |
| Снимок состояния | Зафиксируйте openState/playState проигрывателя либо фазу операции, идентичность объекта и точное время возврата этого HRESULT. |
| Первый результат нижнего уровня | Сохраните самый ранний результат Win32, Winsock, COM, анализатора, кодека, DRM или устройства, появившийся до итогового HRESULT. |
| Данные для сравнения | Для контрольного сравнения используйте один заведомо исправный пример, проходящий через тот же API, протокол и цепочку компонентов, изменив только отклонённое предварительное условие. |
Контролируемое сравнение воспроизведения
- Зафиксируйте
0xC00D11C8,NS_E_WMP_VIDEO_CODEC_NOT_INSTALLED, точный метод или команду и время первого сбоя. - Сохраните FourCC/подтип, размеры, профиль/уровень, тип мультимедиа выходного pin, CLSID декодеров и журнал графа.
- Выполните одно изолированное сравнение: постройте граф для короткого образца с тем же подтипом и проверьте, принимает ли декодер этот входной тип.
- Повторите исходный путь выполнения в проигрывателе после этого результата и сохраните любой новый HRESULT как последующий результат.
- Подтвердите ожидаемый переход состояния, а не только исчезновение диалогового окна.
Как интерпретировать повторную проверку
| Результат повторной проверки | Толкование |
|---|---|
| Тот же HRESULT на том же объекте | Определяющее состояние или значение не изменилось либо вызывающая сторона повторно использует объект, созданный до соответствующего изменения. |
| Новый объект работает успешно | На результат повлияли время жизни объекта, кэшированная конфигурация либо устаревшее состояние списка воспроизведения или графа. |
| Появляется более поздний HRESULT | Исходное условие — ни один установленный видеодекодер не принимает подтип потока, объявленный source filter — устранено; новый код диагностируйте на уровне, который его сформировал. |
| Сбой возникает только для одного элемента или конечной точки | Эти данные указывают прежде всего на состояние конкретного ресурса, прав, маршрутизации или устройства, а не на общий сбой проигрывателя. |
Действия, скрывающие причину
- уменьшать разрешение экрана, пытаясь компенсировать отсутствие декодера.
- Не теряйте первый конкретный HRESULT из-за многократных вызовов Play, Open и Save или повторов: последующие события могут заменить исходное состояние.
- Не публикуйте учётные данные, приватные URL, лицензионные материалы или полные заголовки защищённого содержимого; сохраняйте только обезличенные идентификаторы, длины, хэши и необходимые поля протокола.
Технические ссылки
- Поддерживаемые протоколы и типы файлов
- Использование Windows Media в DirectShow
- Работа с кодеками
- Фильтры DirectShow
- Реестр HRESULT Microsoft
Считайте NS_E_WMP_VIDEO_CODEC_NOT_INSTALLED устранённым только тогда, когда исходная операция проходит эту границу и достигает ожидаемого следующего состояния проигрывателя.
Нужно найти другой код? Найти другой код состояния или ошибки.
