| Предыдущий | Следующий |
| MF_E_MP3_NOTSUPPORTED | MF_E_INVALID_FORMAT |
MF_E_NO_DURATION
Что означает MF_E_NO_DURATION
MF_E_NO_DURATION (0xC00D3E8A) — Для медиапотока не задана длительность.
Длительность — свойство всего источника или контейнера, а не отдельного текущего сэмпла. Для прямого потока, незавершённой загрузки, неизвестной длины байтового потока или некоторых файлов без достаточной индексной информации конечная длительность может быть недоступна.
Что проверить и как подтвердить исправление
Запишите тип источника, длину байтового потока, возможность позиционирования и состояние загрузки/финализации. Для конечного файла проверьте, достаточно ли данных контейнера или индекса, чтобы источник мог вычислить устойчивую общую длительность.
Не подменяйте неизвестную длительность текущей позицией или расчётом «байты / средний битрейт» и не используйте такую оценку для позиционирования: переменный битрейт и неполный ввод легко делают её неверной. Код должен явно поддерживать неизвестную длительность либо дождаться формирования конечного источника.
Документация для результата 0xC00D3E8A: MP3 File Source · IMFByteStream::GetLength · FFmpeg: MP3 duration and seek implementation.
Нужно найти другой код? Найти другой код состояния или ошибки.
