[DshowFilter]"IQualityControl::Notify not over-ridden from CBasePin. (IGNORE is OK)"
Runtime시 아래와 같은 메시리를 뿜으며 대화상자가 뜬다.
"IQualityControl::Notify not over-ridden from CBasePin. (IGNORE is OK)"
At line 2346 of C:\DXSDK\Samples\C++\DirectShow\BaseClasses\amfilter.cpp
Continue? (Cancel to debug)
해결방법 :
이 에러 메시는 런타임시 필터 그래프에서 출력이 된다.
그래서 위 에러를 위해 CBasePin을 상속 받은 Class에서
아래와 같이 코드를 추가 하였다.
[Dshow] DirectShow Filter Build시 발생하는 Link Error 해결방법
Some of the DirectShow samples break if you install Visual Studio 2005 Beta 2. Most of the errors that I found fall into three categories:
C4430: Missing type specifier. To conform with C++, undeclared types do not default to int. All types must be declared. Fix: Declare the type, or suppress the warning with the "/wd4430" flag.
C4996: ' xxxx' was declared deprecated. You may be including an older version of strsafe.h from the DirectX SDK or the Platform SDK. You should include the version installed with Visual Studio. (But it's probably harmless to ignore this warning.)
C2065: 'xxx': undeclared identifier. To conform with C++, the scope of a variable declared inside a "for" loop is restricted to the loop. Fixes: (a) Move the declaration outside the for loop. (b) Redeclare the variable in multiple scopes, if you don't need it to persist outside the loop. (c) Set the /Zc:forScope flag. (You can find this under Project, Properties, Configuration Properties, C/C++, Language, Force Conformance In For Loop Scope. Set to "No".)
Here are the specific fixes that I made. Warning: I have not thoroughly tested these, and I only tried them under the "Windows XP 32-bit Debug" environment in Platform SDK. You should use your own judgment before making any of these fixes.
Filters\Gargle\gargle.cpp (212) static int m_nInstanceCount; // total instances
Filters\RGBFilters\RateSource\ratesource.cpp (382) for( int y = 0 ; y < DEFAULT_HEIGHT ; y++ )
Filters\RGBFilters\RateSource\ratesource.cpp (387) for( int y = 0 ; y < DEFAULT_WIDTH ; y++ )
VMR\VMRXclBasic and VMR\Ticker: LNK1181: cannot open input file 'dxguid.lib'. This was an error in the makefile. Change to read: DXLIB="$(DXSDK_DIR)\Lib\x86" (currently says "x32")
VMR\VMRXcl and VMR\VMRMulti: C1083: Cannot open include file: 'd3dxmath.h': No such file or directory. This is an old DX header that is no longer included in DX or in Visual Studio. Unfortunately the only fix is to download an older version of the DirectX SDK.
VMR9\MultiVMR9\GamePlayer\character.cpp (383) DWORD i = 0; for (i = 0; i < pMeshContainer->NumInfl; ++i)
VMR9\VMRAllocator: error LNK2019: unresolved external symbol "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)" (etc). Add this to the makefile: comsuppw.lib \