Что означает код HRESULT 0xC00D4659 (MF_E_INVALID_ASF_STREAMID)?

 
Предыдущий Следующий
MF_E_MISSING_ASF_LEAKYBUCKET MF_E_STREAMSINK_REMOVED

MF_E_INVALID_ASF_STREAMID

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

MF_E_INVALID_ASF_STREAMID (0xC00D4659) — Недопустимый идентификатор потока ASF.

В ASF номер потока и его индекс в IMFASFProfile — разные величины. Номера потоков находятся в диапазоне 1–127 и не обязаны быть последовательными; индекс при перечислении профиля начинается с нуля.

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

Запишите отдельно номер потока и его индекс в профиле в месте отказа. Типичная ошибка — передать нулевой индекс приложения как номер ASF-потока либо использовать номер потока из старой версии профиля после удаления или перестройки потоков.

Проверьте, что номер действительно назначен через IMFASFStreamConfig::SetStreamNumber и что тот же поток присутствует в профиле, переданном текущему ContentInfo и мультиплексору. Не полагайтесь на порядок перечисления как на идентификатор.

Установка кодека или изменение типа мультимедиа не исправляет неверный идентификатор потока. Исправление подтверждается согласованным отображением «индекс приложения → номер ASF-потока» во всех вызовах, работающих с одним профилем.

Документация для результата 0xC00D4659: ASF WMContainer components · ProcessSample stream-number parameter · Wine Media Foundation HRESULT definitions.


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