DirectShow Programming With Visual Studio 6.0
2007/08/17 14:47
Posted by Posted in " 프로그래밍 관련/C/C++/MFC/Win32 "

예전에도 아티클을 올린 적이 있었지만, DirectShow Programming을 Visual Studio 6.0에서 구현한다는 것은 상당히 번거로운 일이다.
MS에서 Visual Studio 6.0을 내놓은 자식 취급하면서 찾아온 일이지만.. 갠적으로 C++ 프로그래밍은 Visual Studio 6.0으로 해야 제 맛이라 생각하는 나에겐 여간 껄쩍찌근한게 아니다.
우습게도 C#때문에 Visual Studio 2005가 상당히 손에 익었음에도 C++ 만큼은 손에 익지 않는다. 문자열들 간의 타입 캐스팅이 까다롭다는 것은 사실 둘째 치고라도, 배경화면을 까맣게 맹글어놓고 쓰는 나에게 2005는 화면을 까맣게 맹글어도 영 아니 이쁘다는 것도 짜증난다-_-
암튼, 예전에 회사일 때문에 Visual Studio 6.0으로 DirectShow를 이용한 프로그램을 구현하다가 갑자기 일이 Drop 된 경우가 있었는데.. 이번에 도현이형의 부탁도 있고, 나도 예전에 하던걸 마무리 지어야 된다는 생각에서 프로그램을 마물했다.
혹시나 다음에도 DirectShow로 프로그래밍해야할지도 모를 기억력이 부족한 날 위해 몇 몇 중요 뽀인뜨를 기록하고자 한다.
1. DirectShow SDK는 반드시 2003년에 배포된 버전을 사용하자. 갠적으로 2월에 배포된걸 썼는데, 아무 문제가 없었다. (그 이후에서는 MS가 더이상 6.0을 내놓은 자식 취급하면서 전혀 고려하지 않고 있다.)
2. 만약, h파일들을 찾을 수 없다는 에러 메시지가 나타난다면?! DXSDK 설치 폴더 아래 Sample/VC++/BaseClasses 경로를 Include 경로에 추가해주자.
3. 반드시 다음 lib 파일들을 순서대로 링크시켜주자! strmiids.lib winmm.lib strmbase.lib quartz.lib
만약, Debug 모드라면 strmbase.lib -> strmbased.lib 로 고쳐주어야 하고, 반드시 Link Incremetally를 체크해주자!
만약, strmiids.lib와 strmbase.lib의 순서가 바뀌면, 중복 정의되었다는 에러메시지를 뱉어낸다.
덧글) 막상 DirectShow로 구현하고 나서, DirectShow SDK에서 제공하는 샘플들을 몇 개 돌려봤다. 그 중 AmCap이란 녀석과 PlayCap이란 녀석 2개가 있었는데.. 영상에 대한 반응속도.. 그러니까 카메라에 대고 손을 흔들었을 때의 반응을 보니, AmCap이 PlayCap보다 더 빠른 것 같았다. 왜 그럴까에 대해서.. 정말 알아보고 싶었지만, 시간 관계상 일단 접었다.. 다음에 기회가 되면 꼭 소스를 분석해봐야겠다..-ㅁ-
Trackback
Trackback Address :: http://www.nohungry.net/tt1/trackback/99

Comments