2013-07-03 44 views
0

在什麼情況下IMFMediaSourceTopologyProvider::GetMediaSourceTopology()不會失敗?它總是以代碼0xc00d36e6(MF_E_ATTRIBUTENOTFOUND)失敗。


請不要用MSDN鏈接回答。IMFMediaSourceTopologyProvider :: GetMediaSourceTopology總是失敗,爲什麼?

+0

難解釋爲什麼要關閉它?互聯網上沒有資源描述這個問題。只有一本由Anton Polinger編寫的壞書,他基本上在Windows Media Foundation上打印了MSDN內容。 – user1764961

回答

0

這是解決血後數小時的解決方案。

你必須調用QueryInterface()IMFSequencerSource對象上,以獲得IMFMediaSource這樣的:

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

現在在pMediaSource對象調用CreatePresentationDescriptor()得到了GetMediaSourceTopology()呼叫所需的呈現描述符。

瞧...

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 –