Что означает код HRESULT 0x80040251 (VFW_E_MEDIA_TIME_NOT_SET)?

 
Предыдущий Следующий
VFW_E_SAMPLE_TIME_NOT_SET VFW_E_NO_TIME_FORMAT_SET

VFW_E_MEDIA_TIME_NOT_SET

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

VFW_E_MEDIA_TIME_NOT_SET (0X80040251) относится к DirectShow. Это failure HRESULT. Исходный признак результата зафиксирован в документации как No media time stamp has been set for this sample.

Одинаковый facility объединяет коды по подсистеме, но не по причине. Воспроизводите минимальный вызов и фиксируйте состояние непосредственно перед ним. Для этой страницы ключевая граница формулируется так: a caller asks an IMediaSample for media start and stop positions when no media-time pair was assigned.

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

  • AllStat: “No media time stamp has been set for this sample”.
  • a caller asks an IMediaSample for media start and stop positions when no media-time pair was assigned.
  • Cause 1 for this result: the parser does not expose source-unit positions.
  • Cause 2 for this result: SetMediaTime was called with null pointers to clear the values.
  • Cause 3 for this result: a sample wrapper preserved presentation time but dropped media time.
  • Action 1 for this result: treat media time as optional unless the filter contract requires it.

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

  • 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.

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

Критерий восстановления — исходный вызов проходит на тех же релевантных данных после конкретного подтверждённого изменения, а не заменяется соседним кодом.

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

  • Evidence 3 for this result: transform chain and metadata-copy behavior.
  • Cause 2 for this result: SetMediaTime was called with null pointers to clear the values.
  • Action 2 for this result: propagate media positions through transforms that preserve source ordering.

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


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