Что означает код HRESULT 0x80040249 (VFW_E_SAMPLE_TIME_NOT_SET)?

 
Предыдущий Следующий
VFW_E_INVALID_MEDIA_TYPE VFW_E_MEDIA_TIME_NOT_SET

VFW_E_SAMPLE_TIME_NOT_SET

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

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

Не начинайте с переустановки компонента: сначала сохраните первый HRESULT, object generation и параметры конкретной операции, на которой возникло состояние. Для этой страницы ключевая граница формулируется так: code requests the presentation start and stop times of an IMediaSample that has no reference-time timestamp.

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

  • AllStat: “No time stamp has been set for this sample”.
  • code requests the presentation start and stop times of an IMediaSample that has no reference-time timestamp.
  • Cause 1 for this result: the source filter never called SetTime.
  • Cause 2 for this result: a transform created a replacement sample without copying timing metadata.
  • Cause 3 for this result: a deliberately untimed sample reached code that assumes every sample is scheduled.
  • Action 1 for this result: set valid stream times where the source contract requires them.

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

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

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

После исправления повторите тот же минимальный сценарий и убедитесь, что изменился именно подтверждённый prerequisite, а не только порядок событий.

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

  • Evidence 1 for this result: GetTime return at the first consumer.
  • Evidence 2 for this result: sample flags, discontinuity and sync-point state.
  • Evidence 3 for this result: upstream filter and whether it allocated a new sample.

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


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