簡體   English   中英

在DirectShow SDK中使用AddSourceFilter時出現0x800C000D錯誤

[英]0x800C000D error when using AddSourceFilter in the directshow SDK

我正在嘗試使用DirectShow SDK構建圖形。 當我調用GraphBuilder.AddSourceFilter時,出現錯誤0x800C000D

private IGraphBuilder graphBuilder = null;
private IBaseFilter sourceFilter = null;

int hr = 0;
graphBuilder = (IGraphBuilder)new FilterGraph();

hr = graphBuilder.AddSourceFilter(filename, @"Source1", out sourceFilter);

之后,hr返回上述錯誤代碼,並引發異常。 擔心我的文件名不正確,我嘗試了以下操作:

udp://224.1.1.13:9005/10.10.1.3
udp://224.1.1.13:9005/0.0.0.0
udp://224.1.1.13:9005

該流可用並且正在傳輸,我已經使用地址udp://224.1.1.13:9005的VLC進行了確認。

我對DirectShow圖形構建非常缺乏經驗,所以我想知道我是否缺少一些基本知識。 我已經遍歷了有關msdn的圖形生成文檔,但是我聽說該過程比ms所允許的要細致得多。

0x800C000DPST_E_UNKNOWN_EXCEPTION ,並且是罕見的不建議使用的PStore故障代碼。 問題在於過濾器查找/實例化在某處太深處失敗。 沒有可用的DirectShow過濾器來處理udp://流(據說是RTP / RTSP)。 VLC使用自己的代碼處理它們。

通常,您需要特定的第三方過濾器來呈現這些URL,並且可能還需要直接通過AddFilter添加此過濾器,而不是依賴AddSourceFilter通過公共協議注冊來選擇它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM