Что означает код HRESULT 0xC00D5219 (MF_E_TOPO_STREAM_DESCRIPTOR_NOT_SELECTED)?

 
Предыдущий Следующий
MF_E_TOPO_MISSING_STREAM_DESCRIPTOR MF_E_TOPO_MISSING_SOURCE

MF_E_TOPO_STREAM_DESCRIPTOR_NOT_SELECTED

MF_E_TOPO_STREAM_DESCRIPTOR_NOT_SELECTED (0xC00D5219) означает, что узел потока источника ссылается на поток, который не выбран в его дескрипторе представления.

Дескриптор представления хранит не только список потоков, но и признак активности каждого из них. Выбранный поток после запуска источника производит данные; невыбранный — нет. Поэтому топология не может строить активную ветвь из дескриптора потока, который тот же IMFPresentationDescriptor считает выключенным.

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

  • Перечислите потоки через GetStreamDescriptorByIndex и создавайте ветвь топологии только для дескриптора, у которого возвращён флаг selected.
  • Если приложение меняет выбор через SelectStream/DeselectStream, после этого синхронно обновите узлы источника топологии.
  • Не смешивайте дескриптор потока из старого снимка с заново созданным дескриптором представления, даже если индекс потока совпадает.
  • Не пытайтесь исправить ошибку на декодере следующего этапа: до него данные не дойдут, пока дескриптор представления источника не считает поток активным.

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


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