2013-07-03 6 views
0

При каких обстоятельствах IMFMediaSourceTopologyProvider::GetMediaSourceTopology() не подводит? Он всегда терпит неудачу с кодом 0xc00d36e6 (MF_E_ATTRIBUTENOTFOUND).


Пожалуйста, не отвечайте со ссылкой на MSDN.IMFMediaSourceTopologyProvider :: GetMediaSourceTopology всегда терпит неудачу, почему?

+0

Сложно ли объяснить, почему это должно быть закрыто? В Интернете нет ресурсов, описывающих эту проблему. Только одна плохая книга, написанная Антоном Полингером, где он в основном печатал содержимое MSDN в Windows Media Foundation. – user1764961

ответ

0

Вот решение, когда вы писались в течение нескольких часов.

Вы должны вызвать QueryInterface() на объекте IMFSequencerSource, чтобы получить IMFMediaSource так:

hr = pMFSequencerSrc->QueryInterface(__uuidof(IMFMediaSource), (void**)&pMediaSource); 

Теперь на pMediaSource объекта вызова CreatePresentationDescriptor(), чтобы получить дескриптор представления, необходимые для GetMediaSourceTopology() вызова.

voila ...

P.S. Это ошибка MF_E_ATTRIBUTENOTFOUND ... хорошая работа M $

+0

FWIW, получение «IMFPresentationDescriptor *» объясняется в MSDN здесь: https://msdn.microsoft.com/en-us/library/windows/desktop/ms701605%28v=vs.85%29.aspx –

Смежные вопросы