| Предыдущий | Следующий |
| MF_E_INVALIDINDEX | MF_E_UNSUPPORTED_SCHEME |
MF_E_INVALID_TIMESTAMP
Что означает MF_E_INVALID_TIMESTAMP
MF_E_INVALID_TIMESTAMP (0xC00D36C0) — Указана недопустимая метка времени.
Этот код говорит именно о временном значении, а не о повреждении сэмпла вообще. В зависимости от API это может быть метка времени представления, позиция перехода или другая точка времени, которая выходит за допустимый диапазон, нарушает порядок либо использует неверный формат времени.
Что проверить и как подтвердить исправление
Запишите точный API, идентификатор потока и исходное значение времени до любых нормализаций. Для стандартного времени представления Media Foundation использует 100-наносекундные единицы; не смешивайте их с миллисекундами, тиками другого API или собственной шкалой времени контейнера.
Для последовательности сэмплов проверьте временные метки вместе с длительностью, разрывами непрерывности, переходами по времени и сбросом очередей; найдите первое место, где временная шкала пошла назад. Для перехода по времени отдельно учитывайте характеристики источника: допустимый диапазон и фактическая точность позиционирования могут зависеть от индекса и ключевых кадров.
Не исправляйте ошибку безусловной заменой времени на ноль. Ноль допустим только там, где он действительно соответствует контракту текущей операции; корректное исправление сохраняет нужную временную шкалу и устраняет неверное значение или преобразование единиц.
Документация для результата 0xC00D36C0: IMFSample::GetSampleTime · seeking, fast forward, and reverse play.
Нужно найти другой код? Найти другой код состояния или ошибки.
