About Me

My photo
I know the last digit of PI

Wednesday, May 09, 2007

В дебрите на DirectShow или как да ползваме ISampleGrabber

Днеска за пореден път се сблъсках с добре структурираната и позотворна информация за DirectShow. Целта беше да ползвам ISampleGrabber филтърът за да направя няколко картинки от филмче. Example-и има много за това... обаче тайната как да ги компилираш я няма абсолютно никъде. Проблема е, че освен стандартното PlatformSDK трябва и DirectX SDK заради един header файл. След това обаче се набозват някакви недекларирани макроси и става яко мазало. Грешката която се получава е:

...mmstream.h(332) : error C2061: syntax error : identifier '__RPC__deref_out_opt'"
...mmstream.h(335) : error C2061: syntax error : identifier '__RPC__out'
...mmstream.h(339) : error C2061: syntax error : identifier '__RPC__in_opt'

и така още около 102 пъти :-)

В крайна сметка печелившата комбинация от include-и е следната:

rpcsal.h
dxtrans.h
qedit.h


Първият rpcsal.h е най-важен за тези макроси.