Что означает код HRESULT 0xC00D1187 (NS_E_PDA_TRANSCODECACHEFULL)?

 
Предыдущий Следующий
NS_E_PDA_NO_TRANSCODE_OF_DRM NS_E_PDA_TOO_MANY_FILE_COLLISIONS

NS_E_PDA_TRANSCODECACHEFULL

. Его практическая область — NS_E_PDA_TRANSCODECACHEFULL

Этот HRESULT формируется на границе выделение временного conversion output для media, предназначенного устройству. Этот результат относится к преобразованию media для целевого устройства, а не к неопределённой «проблеме Windows Media».

Положение в конвейере

На контрольной точке этот результат перед передачей Player может сопоставить media type источника с возможностями форматов устройства и построить путь преобразования. Декодирование источника, кодирование целевого формата, создание metadata, вывод во временный cache и необязательное шифрование являются отдельными этапами. Специфичная для страницы граница — выделение временного conversion output для media, предназначенного устройству.

Локальное воспроизведение source не доказывает наличие допустимого пути преобразования к конкретному format и ограничениям подключённого устройства. Характерный сценарий: выделение временного conversion output для media, предназначенного устройству.

Данные для воспроизведения

ДанныеПочему это важно для данного результата
Объект и операция, вернувшие ошибкупуть и media type источника, идентификаторы decoder и encoder, целевой формат audio/video/image, ответ о возможностях устройства, размеры/bitrate выхода, путь cache и свободное место, состояние EFS, этап преобразования и первый HRESULT codec
Решающие сведенияпуть transcode cache, свободное место, активные cached outputs и предполагаемый размер result
Идентификатор поколенияЗафиксируйте то же поколение диска, устройства, задания или операции Player, которое вернуло этот результат; повторное подключение или смена носителя создаёт уже другой тест.
Нижележащий результатСохраните первый результат устройства, файловой системы, COM, codec, DirectShow, IMAPI или BITS, полученный до того, как Player сопоставил его с этим результатом.
Контролируемое сравнениеПовторите исходный вызов, изменив только это условие: освободить или перенести cache и перезапустить только затронутый conversion.

Интерпретация диагностических данных

НаблюдениеТолкование
Зафиксированные значения соответствуют границеРезультат соответствует условию выделение временного conversion output для media, предназначенного устройству; сначала исправьте его, прежде чем менять несвязанные codec, driver или playlist.
Сбой нижнего уровня произошёл до негоСохраните этот более ранний HRESULT или результат устройства, поскольку он может быть лишь отображением ошибки на уровне Player.
Тот же вызов проходит после одного изолированного измененияСравнение подтверждает диагностику этой границы, а не общий сбой установки.
После повторной проверки код изменилсяЭта граница пройдена; диагностируйте новый HRESULT как следующую независимую стадию.

Он сужает границу сбоя до выделение временного conversion output для media, предназначенного устройству. Его наличие не доказывает общесистемный сбой мультимедиа; перед изменением не связанных компонентов Player определите операцию, которой принадлежит ошибка.

Порядок проверки

  1. Зафиксируйте 0xC00D1187, он, точную операцию Player/API и первую временную метку её появления.
  2. Сохраните путь transcode cache, свободное место, активные cached outputs и предполагаемый размер result; сделайте это до извлечения носителя, повторного подключения устройства, отмены задания или пересоздания объекта Player.
  3. сопоставьте результат с путём и media type источника, идентификаторами decoder и encoder, целевым форматом audio/video/image, ответом о возможностях устройства, размерами/bitrate выхода, путём cache и свободным местом, состоянием EFS, этапом преобразования и первым HRESULT codec.
  4. Один раз воспроизведите сбой с исходными source и destination, затем примените только это изменение: освободить или перенести cache и перезапустить только затронутый conversion.
  5. Создайте новое поколение операции и убедитесь, что исходный вызов проходит границу «выделение временного conversion output для media, предназначенного устройству».

Похожие, но отличающиеся результаты

Связанный результатДругая диагностическая граница
NS_E_PDA_CANNOT_TRANSCODEпостроение допустимого пути преобразования от source decoder к target encoder
NS_E_PDA_TRANSCODE_NOT_PERMITTEDприменение policy или rights элемента, запрещающих преобразование
NS_E_PDA_ENCODER_NOT_RESPONDINGожидание progress или completion от выбранного encoder преобразования

Измените только ответственное условие

Целевое действие — освободить или перенести cache и перезапустить только затронутый conversion. При повторной проверке он, оставляйте несвязанные параметры media, device, playlist и network неизменными.

При проверке он не устанавливайте codec packs и не очищайте все caches до сохранения media types источника/назначения и первой ошибки активации codec; за один тест меняйте только один decoder, encoder или параметр назначения.

Ссылки — диагностическая граница


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