| Предыдущий | Следующий |
| NS_E_SMPTEMODE_MISMATCH | NS_E_NO_MEDIA_IN_AUDIENCE |
NS_E_END_OF_TAPE
Как интерпретировать код в реальном сеансе кодирования
0xC00D1BAE соответствует NS_E_END_OF_TAPE. Практическая область этого результата — достижение записанного конца ленты либо отсутствие пригодной ленты; она относится к «управление ленточным устройством и списки решений монтажа EDL», а не ко всем компонентам Windows Media или Windows.
Механизм и точка сбоя
Windows Media Encoder связывает источник захвата с control plug-in, ленточным transport, отметками mark-in/mark-out и EDL. Устройство захвата и управляющее устройство должны относиться к одному работоспособному аппаратному тракту при проверке «достижение записанного конца ленты либо отсутствие пригодной ленты». В сеансе, возвращающем этот результат, именно здесь проверяется условие «достижение записанного конца ленты либо отсутствие пригодной ленты».
Захват видео может оставаться доступным, когда отдельный подключаемый модуль теряет управление транспортом, поэтому ошибка управления устройством в сеансе, возвращающем этот результат. Типичный сценарий воспроизведения: последняя запись EDL выходит за пределы записанного фрагмента. Первый результат Encoder ценнее более позднего общего сообщения.
Матрица воспроизведения
| Поле | Что сохранить |
|---|---|
| Решающие значения | состояние транспорта, признак наличия ленты, текущий timecode и запрошенный диапазон EDL |
| Объект, вернувший ошибку | CLSID control plug-in, идентификатор управляемого устройства, состояние transport, наличие ленты, число записей EDL, значения mark-in/mark-out, результат seek, привязку source group и событие disconnect |
| Сопоставление с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен этот результат |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с ним |
| Контролируемое сравнение | заведомо исправный сеанс, в котором изменяется только настройка границы «достижение записанного конца ленты либо отсутствие пригодной ленты» |
Матрица диагностических признаков
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее он | Решающие данные: состояние транспорта, признак наличия ленты, текущий timecode и запрошенный диапазон EDL. Они подтверждают условие «достижение записанного конца ленты либо отсутствие пригодной ленты» в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют правилу этой границы, но source, драйвер, COM activation или файловая операция раньше возвращает другой HRESULT. |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу («достижение записанного конца ленты либо отсутствие пригодной ленты»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе. |
| Проверка после исправления | Внесите одно изолированное изменение: загрузить нужную ленту либо сократить EDL до фактически записанного материала. После этого исходный вызов должен пройти ту же контрольную точку для состояния «достижение записанного конца ленты либо отсутствие пригодной ленты». |
Практическое влияние он ограничен переходом «управление ленточным устройством и списки решений монтажа EDL», которому принадлежит условие «достижение записанного конца ленты либо отсутствие пригодной ленты». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда последняя запись EDL выходит за пределы записанного фрагмента, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе конца ленты.
Матрица диагностических признаков
- Зафиксируйте
0xC00D1BAE, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте состояние транспорта, признак наличия ленты, текущий timecode и запрошенный диапазон EDL. - Проверьте предварительное условие управления ленточным устройством и списка монтажных решений, не меняя одновременно источник, профиль и выходной приёмник.
- Выполните одно контролируемое сравнение, изменив только это условие: загрузить нужную ленту либо сократить EDL до фактически записанного материала.
- После изменения пересоздайте затронутый объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее состояние конца ленты.
Не объединяйте следующие результаты
| Результат | Почему это другая граница |
|---|---|
NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED | Внесите одно изолированное изменение: загрузить нужную ленту либо сократить EDL до фактически записанного материала. |
NS_E_INVALID_SOURCE_WITH_DEVICE_CONTROL | управление устройством подключено к источнику, который не является устройством захвата |
NS_E_TOO_MANY_DEVICECONTROL | несколько управляющих plug-in одновременно пытаются владеть одним устройством кодирования |
Что изменить, а что оставить без изменений
Измените минимальное ответственное предварительное условие: загрузите нужную ленту либо сократите EDL до фактически записанного материала. При повторной проверке этот результатсохраняйте неизменными все не связанные параметры источника, аудитории и выхода до повторения того же вызова.
Не перематывайте, не извлекайте и не перезаписывайте ленту до сохранения отказавшей записи EDL и текущего timecode: иначе изменятся данные, необходимые для воспроизведения ошибки при проверке «достижение записанного конца ленты либо отсутствие пригодной ленты». Это позволяет повторно проверить тот же сеанс с ним без потери исходных диагностических данных.
Авторитетная документация
- WMEncEditDecisionList.Item.
- Структура управления устройством WMTIMECODE.
- IWMEncSource.MarkOut.
- Подготовка группы источников к кодированию.
Нужно найти другой код? Найти другой код состояния или ошибки.