Что означает код HRESULT 0x80040228 (VFW_E_START_TIME_AFTER_END)?

 
Предыдущий Следующий
VFW_E_WRONG_STATE VFW_E_INVALID_RECT

VFW_E_START_TIME_AFTER_END

Что означает VFW_E_START_TIME_AFTER_END

VFW_E_START_TIME_AFTER_END означает, что компонент DirectShow получил временной интервал, у которого start time позже end time. Такой результат чаще связан с расчётом seek/trim или преобразованием шкалы времени, чем с декодером медиапотока.

Что проверить

  • Сохраните исходные start/end timestamps и единицы, в которых они выражены.
  • Проверьте смещения сегмента, playback rate, округление при frame-rate conversion и возможное переполнение signed/unsigned значений.
  • После нового seek или перестроения сегмента не используйте timestamps, сохранённые от предыдущего состояния graph.

Как подтвердить исправление

После коррекции расчёта повторите операцию с тем же media source. Исправление подтверждается, когда интервал остаётся упорядоченным и при обычном воспроизведении, и на границах seek/trim, а ошибка не возвращается после смены rate.

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


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