home *** CD-ROM | disk | FTP | other *** search
- //------------------------------------------------------------------------------
- // File: MFCDMOUtil.h
- //
- // Desc: DirectShow sample code - Header for DMO utility functions
- // used by MFC applications.
- //
- // Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------------------------
-
- //
- // Global data structure for storing GUIDs and friendly strings
- //
- typedef struct _dmo_category_info
- {
- const GUID *pclsid;
- TCHAR szName[128];
-
- } DMO_CATEGORY_INFO;
-
-
- // The DirectShow reference documentation lists a set of DMO categories
- // for which you can enumerate corresponding filters. See 'Category GUIDs'
- // under 'DirectShow->DirectX Media Objects->DMO Reference' in the SDK docs.
- const DMO_CATEGORY_INFO dmo_categories[] = {
-
- &GUID_NULL, TEXT("All categories"),
- &DMOCATEGORY_AUDIO_DECODER, TEXT("Audio Decoder"),
- &DMOCATEGORY_AUDIO_EFFECT, TEXT("Audio Effect"),
- &DMOCATEGORY_AUDIO_ENCODER, TEXT("Audio Encoder"),
- &DMOCATEGORY_VIDEO_DECODER, TEXT("Video Decoder"),
- &DMOCATEGORY_VIDEO_EFFECT, TEXT("Video Effect"),
- &DMOCATEGORY_VIDEO_ENCODER, TEXT("Video Encoder"),
- &DMOCATEGORY_AUDIO_CAPTURE_EFFECT, TEXT("Audio Capture Effect"),
- };
-
- //
- // Constants
- //
- #define NUM_CATEGORIES (sizeof(dmo_categories) / sizeof(DMO_CATEGORY_INFO))
- #define STR_CLASSES TEXT("DMO Categories")
- #define STR_FILTERS TEXT("Registered DMOs")
- #define STR_UNKNOWN TEXT("<?>")
- #define STR_NOTDMO TEXT("---")
-
- //
- // Function prototypes
- //
- HRESULT EnumDMOsToList(IEnumDMO *pEnumCat, CListBox& ListFilters, int& nFilters);
- HRESULT AddDMOsToList(const GUID *clsid, CListBox& ListFilters, BOOL bIncludeKeyed);
-
- void DisplayDMOTypeInfo(const GUID *pCLSID,
- ULONG& ulNumInputsSupplied, CListBox& ListInputTypes,
- ULONG& ulNumOutputsSupplied, CListBox& ListOutputTypes);
-