| Предыдущий | Следующий |
| MF_E_ASF_UNSUPPORTED_STREAM_TYPE | MF_E_NO_EVENTS_AVAILABLE |
MF_E_ASF_DROPPED_PACKET
Что означает MF_E_ASF_DROPPED_PACKET
MF_E_ASF_DROPPED_PACKET (0xC00D3AA1) означает, что при обработке ASF был обнаружен потерянный пакет.
ASF хранит медиаданные в последовательности контейнерных пакетов. Потеря одного такого пакета нарушает непрерывность ещё до декодирования аудио или видео, поэтому артефакты декодера обычно являются уже следствием исходного разрыва.
Что проверить
- Для сетевого источника запишите границы получаемых пакетов, последовательность чтений и абсолютные смещения до передачи данных методу
IMFASFSplitter::ParseData. - Для файла сравните проблемный диапазон байтов с исходной копией и проверьте, не было ли файл обрезан или прочитан с пропуском.
- После разрыва проверьте атрибут
MFSampleExtension_Discontinuityу первого сформированного сэмпла: разборщик может пометить им возобновление потока после пропуска. - Если ошибка появилась после перехода к другой позиции или смены источника, убедитесь, что старое состояние разборщика было сброшено через
Flushдо подачи данных из нового места.
Исправление должно устранить потерю или неправильную сборку ASF-пакетов. Замена кодека сама по себе не восстанавливает отсутствующие контейнерные данные.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
