| Предыдущий | Следующий |
| NS_E_UNEXPECTED_MSAUDIO_ERROR | NS_E_NOT_CONFIGURED |
NS_E_INVALID_OUTPUT_FORMAT
Диагностика NS_E_INVALID_OUTPUT_FORMAT в конвейере Windows Media
Этот результат (0xC00D0BBB) возвращается в декодированный или преобразованный выходной media type не поддерживается выбранным компонентом. Код определяет контрольную точку «недопустимый выходной формат», поэтому диагностику следует начинать с объекта и операции, которым она принадлежит, а не с общего сброса Player.
Windows Media Format разделяет профиль сжатого потока, необработанный входной формат и декодированный выход reader. Writer затем пакетирует samples, применяет attributes и необязательные расширения data units, поэтому сбой на одной границе не доказывает нечитаемость ASF-контейнера при диагностике «недопустимый выходной формат». В случае этот результат, сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.
Где возникает сбой
К этому моменту компонент уже принял предыдущие предварительные условия, но не может пройти границу: декодированный или преобразованный выходной media type не поддерживается выбранным компонентом. Успешное открытие файла, разрешение имени узла или создание COM-объекта не доказывает допустимость этой последующей операции при проверке «декодированный или преобразованный выходной media type не поддерживается выбранным компонентом».
Наиболее показательная проверка — перечислить поддерживаемые выходные media types и повторить операцию с одним из них, не меняя входной поток. Если после изменения только этого условия тот же вызов проходит дальше, данные подтверждают рассматриваемую границу. Если нет, вернитесь к первому вложенному результату, не расширяя исправление. Этот результат. Если этого не произошло, вернитесь к первой вложенной ошибке, а не расширяйте область исправлений перед завершением диагностики invalid output format.
Данные профиля и образца
| Зафиксируйте | Как это помогает выделить этот результат |
|---|---|
| Вызов-владелец | Зафиксируйте метод API, идентификатор объекта, thread или callback и временную метку этой контрольной точки. |
| Решающие значения | XML профиля или конфигурация потока, major type, subtype, format block, bitrate, число каналов, частота дискретизации, размеры кадра и результат перечисления кодеков |
| Поколение объекта | Отметьте время создания reader, writer, graph, URL object, streaming session или metadata provider; устаревшее состояние может повторно вызвать он после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний status codec, COM, socket, DNS, parser или provider до него; более поздние сообщения UI менее конкретны. |
| Случай для сравнения | Используйте один заведомо рабочий ресурс, проходящий ту же контрольную точку, и изменяйте только отклонённое предварительное условие. |
Контролируемая проверка формата мультимедиа
- Запишите
0xC00D0BBB, он, точную операцию и время первого сбоя. - Сохраните XML профиля или конфигурация потока, major type, subtype, format block, bitrate, число каналов, частота дискретизации, размеры кадра и результат перечисления кодеков для состояния «декодированный или преобразованный выходной media type не поддерживается выбранным компонентом».
- Не используйте повторно graph, session, reader или metadata object, созданные до изменения соответствующей конфигурации или ресурса.
- Выполните один изолированный тест: перечислить поддерживаемые выходные media types и повторить операцию с одним из них, не меняя входной поток.
- Повторите проверку через тот же API и protocol path; другой Player или локальная копия полезны только как сравнение и не доказывают исправление исходной границы.
- Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT как отдельный downstream result.
Как интерпретировать следующий HRESULT
| Результат повторной проверки | Толкование для него |
|---|---|
| Тот же вызов по-прежнему возвращает этот код | Значения, определяющие контрольную точку «недопустимый выходной формат», не изменились либо вызывающая сторона всё ещё использует старое поколение объекта. |
| Новый объект работает успешно | На результат повлияли lifetime объекта или cached state он; исправьте пересоздание объекта вместо обходного решения на уровне всего компьютера. |
| Вызов доходит до другого HRESULT при проверке «декодированный или преобразованный выходной media type не поддерживается выбранным компонентом» | Исходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии format, graph, URL, network или metadata при проверке «декодированный или преобразованный выходной media type не поддерживается выбранным компонентом». |
| Сбой возникает только для одного ресурса | Данные указывают на состояние конкретного content, URL, publishing point, stream, attribute или object, а не на общий outage. |
Близкие результаты не взаимозаменяемы
Основное различие: output format отклоняется уже после появления source или codec; это не является доказательством того, что input file невозможно открыть на контрольной точке invalid output format.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_MSAUDIO_NOT_INSTALLED | Сравните ответственный API и первое отклонённое значение: соседний HRESULT относится к другой контрольной точке и не обязан иметь ту же причину, что он. |
NS_E_UNEXPECTED_MSAUDIO_ERROR | Используйте состояние объекта и порядок операций, чтобы определить исходный код, если оба появляются в одной трассировке. |
NS_E_NOT_CONFIGURED | Сохраните он отдельно, если он появляется только после устранения условия он. |
Действия, вводящие в заблуждение
- не меняйте одновременно несколько параметров profile и codec: это скрывает первое несовместимое поле.
- Не стирайте данные о первом появлении он многократными повторами; callbacks и reconnect могут заменить полезное исходное состояние более поздней ошибкой оболочки.
- Не публикуйте credentials, материалы protected content или полные private URL. Записывайте только обезличенные identifiers, lengths, hashes и необходимые protocol fields для состояния «декодированный или преобразованный выходной media type не поддерживается выбранным компонентом».
Технические ссылки
- Обзор Windows Media Format SDK
- Входные, потоковые и выходные форматы
- Профили
- Объекты Windows Media SDK
- Реестр HRESULT Microsoft
Завершайте диагностику только после того, как исходная операция он успешно выполняется на актуальном объекте и наблюдается ожидаемое следующее состояние.
Нужно найти другой код? Найти другой код состояния или ошибки.
