| Предыдущий | Следующий |
| NS_E_INCORRECTCLIPSETTINGS | NS_E_NOTARCHIVING |
NS_E_NOSTATSAVAILABLE
Как интерпретировать код в реальном сеансе кодирования
0xC00D1B7D соответствует NS_E_NOSTATSAVAILABLE. Практическая область этого результата — запрашивается producer статистики, который ещё не сформировал актуальный sample, который относится к доступности statistics Encoder, а не ко всему Windows Media playback или Windows в целом.
Механизм и точка сбоя
Объекты statistics заполняются активной работой encoding, archival и indexing в сеансе, который возвращает этот результат. Поэтому корректный interface statistics может не иметь значимого sample до запуска соответствующей subsystem или после её завершения.
Отсутствие statistics само по себе не означает сбой capture или encoding; producer мог ещё не запуститься или не иметь текущего sample в сеансе, который возвращает этот результат. Типичный сценарий воспроизведения: IndexerStats запрашивается до остановки архива и перехода к фоновой индексации. Первый результат Encoder ценнее более позднего общего сообщения.
Матрица воспроизведения
| Поле | Что сохранить |
|---|---|
| Решающие значения | запрошенный интерфейс статистики, состояние Encoder и архива, timestamp sample и состояние очереди индексации |
| Объект, вернувший ошибку | Encoder RunState, активную source group, состояние archive/indexer, запрошенный объект statistics, timestamp sample, порядок callbacks и предыдущее изменение состояния |
| Сопоставление с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен этот результат |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с ним |
| Контролируемое сравнение | заведомо исправный сеанс, в котором изменяется только параметр, относящийся |
Матрица диагностических данных
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее он | Решающие данные: запрошенный интерфейс статистики, состояние Encoder и архива, timestamp sample и состояние очереди индексации. Они подтверждают условие «запрашивается producer статистики, который ещё не сформировал актуальный sample» в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют правилу этой границы, но source, driver, COM activation или file operation раньше возвращает другой HRESULT при проверке «запрашивается producer статистики, который ещё не сформировал актуальный sample». |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу («запрашивается producer статистики, который ещё не сформировал актуальный sample»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе. |
| Проверка после исправления | Примените одно изолированное изменение: дождаться запуска соответствующего producer либо запрашивать статистику, допустимую для текущего состояния. После этого исходный вызов должен пройти ту же контрольную точку. |
Практическое влияние он ограничен переходом, которому принадлежит условие «запрашивается producer статистики, который ещё не сформировал актуальный sample». Сам по себе код не доказывает, что повреждены все входные данные, отсутствуют все codecs или полностью неработоспособна установка Windows Media. Типичный сценарий: IndexerStats запрашивается до остановки архива и перехода к фоновой индексации. Сохраните первый отказавший вызов и идентичность его объекта, чтобы более поздний wrapper не скрыл данные границы «запрашивается producer статистики, который ещё не сформировал актуальный sample».
Минимальный эксперимент
- Зафиксируйте
0xC00D1B7D, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте запрошенный интерфейс статистики, состояние Encoder и архива, timestamp sample и состояние очереди индексации. - проверяйте предусловие доступности statistics Encoder, не меняя одновременно source, profile и output sink.
- Выполните одно контролируемое сравнение, изменив только это условие: дождаться запуска соответствующего producer либо запрашивать статистику, допустимую для текущего состояния.
- После изменения пересоздайте затронутый объект Encoder, а не предполагайте, что существующий graph автоматически отбросил прежнее ошибочное состояние.
Не объединяйте следующие результаты
| Результат | Почему это другая граница |
|---|
Что изменить, а что оставить без изменений
Измените минимальное ответственное предварительное условие: дождаться запуска соответствующего producer либо запрашивать статистику, допустимую для текущего состояния. При повторной проверке этот результатсохраняйте неизменными все не связанные параметры источника, аудитории и выхода до повторения того же вызова.
Не используйте отсутствие раннего statistics sample как единственную причину перезапуска сеанса; сопоставляйте его с состоянием Encoder и archive в сеансе, который возвращает он.
Авторитетная документация
- IWMEncStatistics.IndexerStats.
- WMEncoder.Start.
- WMEncoder.File и выход архива.
- Подготовка группы источников к кодированию.
Нужно найти другой код? Найти другой код состояния или ошибки.