Что означает код HRESULT 0x80040261 (VFW_E_NO_TIME_FORMAT)?

 
Предыдущий Следующий
VFW_E_NOT_IN_GRAPH VFW_E_READ_ONLY

VFW_E_NO_TIME_FORMAT

Практический смысл

VFW_E_NO_TIME_FORMAT (0X80040261) относится к DirectShow. Это failure HRESULT. Исходный признак результата зафиксирован в документации как Cannot get or set time related information on an object that is using a time format of TIME_FORMAT_NONE.

Одинаковый facility объединяет коды по подсистеме, но не по причине. Воспроизводите минимальный вызов и фиксируйте состояние непосредственно перед ним. Для этой страницы ключевая граница формулируется так: a caller requests time-based information from an object whose active seeking format is TIME_FORMAT_NONE.

Специфичные признаки исходного описания

  • AllStat: “Cannot get or set time related information on an object that is using a time format of TIME_FORMAT_NONE”.
  • a caller requests time-based information from an object whose active seeking format is TIME_FORMAT_NONE.
  • Cause 1 for this result: the filter intentionally exposes no seekable timeline.
  • Cause 2 for this result: the graph is live and has no stable duration or position.
  • Cause 3 for this result: the application selected TIME_FORMAT_NONE and still issued a time query.
  • Action 1 for this result: disable timeline UI for non-seekable objects.

Что сохранить до исправления

  • interface и method, на котором впервые появился HRESULT
  • CLSID и friendly name задействованных filters, pin names и negotiated media type
  • graph state/generation, renderer или capture device и первый предшествующий HRESULT
  • временные метки media sample, rate/clock state и фактические параметры вызова

Как локализовать границу

Проверяйте filter graph, negotiated media type, timing и состояние конкретного interface, а не наличие codec вообще. Сначала воспроизведите минимальный сценарий без параллельного изменения конфигурации; затем сравните сохранённые параметры с условием из исходного описания. Если состояние исчезает после re-enumeration или пересоздания объекта, отдельно проверьте lifetime/generation race.

Исправление и повторная проверка

Если retry нужен, заново получите объекты, чья generation могла измениться, и не продолжайте работу с stale interface только потому, что предыдущий вызов завершился.

Дополнительные признаки конкретного сценария

  • Evidence 1 for this result: current and supported time-format GUIDs.
  • Evidence 3 for this result: stream type, live-source state and call sequence.
  • Action 3 for this result: handle live streams through events or counters instead of fabricated media time.

Технические ссылки


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