Проблема при компиляции DirectShow проекта
От: B_A_D Израиль  
Дата: 04.07.03 11:31
Оценка:
У меня есть проект — Video capture Application со следующим графом:

WDM Capture Source -> ISampleGrabber -> NullRenderer
|
-> IVideoMixerRenderer9


Описание класса выглядит примерно так:



#include <dshow.h>
#include <D3d9.h>
#include <Vmr9.h>
#include <d3dx9tex.h>
#include <qedit.h>

class CDxVideoWindow9
{
  public:
   CDxVideoWindow9();
   ~CDxVideoWindow9();
   
 public:
 IVMRFilterConfig9*        m_pVMRFilterConfig;
 IVMRMixerBitmap9*         m_pVMRMixerBitmap;
 IVMRMixerControl9*        m_pVMRMixerControl;
 IVMRMonitorConfig9*       m_pVMRMonitorConfig;
 IVMRWindowlessControl9*   m_pVMRWindowlessControl;
 IBaseFilter*              m_CapSource;          
 ISampleGrabber*        m_pSG;
}

.......................

Получаю ошибку при компиляции:
c:\DXSDK9\Include\d3drmobj.h(274): error C2061: syntax error : identifier 'LPDIRECT3D'
c:\DXSDK9\Include\d3drmobj.h(299): error C2061: syntax error : identifier 'LPDIRECT3DDEVICE'
c:\DXSDK9\Include\d3drmobj.h(314): error C2061: syntax error : identifier 'LPDIRECT3D'


Без Qedit.h все компилируется, но в нем описание ISampleGrabber, который мне нужен.
В МSDN говорится , что QEdit.h несовместим со старыми версиями D3D, но у меня новая — DirectX SDK9.

C DirectX8 c обычным Video Renderer проект пашет уже 2 года, с Video Mixing Renderer 9 тоже все Ок,
но как только пытаюсь довавить описание ISampleGrabber, вперестает компилироваться.В новом SDK какая то несостыковка Direct Show и Direct3D.
В принципе, в этом же модуле я вставил описание ISampleGrabber, выдернутое из Qedit.h и все заработало,
но это как-то неэлегантно.

Как настроить проект, буду очень благодарен ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.