मैं DirectShow में MP4 फ़िल्टर पर काम कर रहा हूँ। मैं वर्तमान में IBaseFilter ऑब्जेक्ट बनाने की कोशिश कर रहा हूं लेकिन CoCreateInstance के लिए CLSID आवश्यकताओं में से एक है।

मैं उलझन में हूं कि यह आईडी कहां से आती है। क्या मैं इसे ग्राफ़एडिट> इन्सर्ट फ़िल्टर से प्राप्त कर सकता हूँ? यदि ऐसा है, तो यह मुझे {00000000-0000-0000-0000-000000000000} के प्रारूप में देता है, हालांकि मैंने जो अधिकांश उदाहरण देखे हैं, वे प्रारूप में हैं

static const GUID CLSID_MPEG4Demux = { 0x025BE2E4, 0x1787, 0x4DA4, 0xA5, 0x85, 0xC5, 0xB2, 0xB9, 0xEE, 0xB5, 0x7C };

क्या मुझे इसके लिए कनवर्टर की आवश्यकता है?

0
Michael Chi Lam 4 मई 2016, 20:20

1 उत्तर

सबसे बढ़िया उत्तर

CLSID पंजीकृत वर्ग के लिए मौलिक COM पहचानकर्ता है। DirectShow फ़िल्टर जो जनता के लिए उपलब्ध होने के लिए पंजीकृत हैं, उनके CLSIDs, उनके डेवलपर्स द्वारा हार्डकोड किए गए हैं। यदि MP4 फ़िल्टर पर आपका कार्य यह मानता है कि आप MP4 फ़िल्टर के डेवलपर हैं, तो आपको अपना स्वयं का CLSID डालने की आवश्यकता है ("क्रिएट GUID" (guidgen.exe) टूल " rel="nofollow noreferrer">आदि)। यदि आप मौजूदा पंजीकृत फ़िल्टर का CLSID देखना चाहते हैं, तो आप ग्राफ़एडिट का उपयोग करके इसका पता लगा सकते हैं, या इसके बजाय GraphStudioNext पंजीकृत फ़िल्टर सूची ब्राउज़ करना:

enter image description here

4
Roman R. 4 मई 2016, 20:28