DirectShow:La fonction GetCurrentBuffer ne recupére pas le buffer??

DirectShow:La fonction GetCurrentBuffer ne recupére pas le buffer?? - C++ - Programmation

Marsh Posté le 05-05-2008 à 18:16:49    

Salut à tous(te)  :hello:  
 
J'utilise l'ISampleGrabber de MSDN et je fait appel à la fonctin GetCurrentBuffer qui ne récupére rien en faite et je sais pas où est le probléme. Mon code ne génére pas des errors, mais en insérant un breakpoint au début et en suivant les instructions pas à pas je trouve que la fonction GetCurrentBuffer ne récupére rien.
 
c'est ma partie de code et comme je vous ai dis as des errors donc ne me posé pas des questions de genre cette variable n'est pas declarée ou quelque chose pareil :non: parceque tout à l'air de bien tourné :D .Donc si quelqu'un peut me dire qu'est-ce qui manque ou bien quel est le probléme de la non récupération du buffer:
 

Code :
  1. long CCaptureVideo::CaptureImage()
  2. {
  3.   int x,y,w,h;
  4.   pGrabber = NULL;
  5.   HRESULT hr;
  6. hr = CoCreateInstance(CLSID_SampleGrabber, NULL, CLSCTX_INPROC_SERVER,IID_IBaseFilter, (void**)&pGrabberF);
  7. if (FAILED(hr))
  8. {
  9.     AfxMessageBox("error" );
  10. }
  11. hr = m_pGraph->AddFilter(pGrabberF, L"Sample Grabber" );
  12. if (FAILED(hr))
  13. {
  14.       AfxMessageBox("error" );
  15. }
  16. pGrabberF->QueryInterface(IID_ISampleGrabber, (void**)&pGrabber);
  17. getTailleImage(&w, &h);
  18.    x=w;
  19.   y=h;
  20.   long size = x * y * 3;
  21.      
  22.   hr = pGrabber->GetCurrentBuffer(&size, NULL);
  23.   if (FAILED(hr))
  24.   {
  25.     return 0;
  26.    AfxMessageBox("can't retreive buffer size" );
  27.   }
  28.         char *pBuffer = new char[size];
  29.         hr = pGrabber->GetCurrentBuffer(&size, (long*)pBuffer);
  30.   if (FAILED(hr))
  31.   {
  32.    return 0;
  33.    AfxMessageBox("can't retreive buffer" );
  34.   }
  35.   else {
  36.                AfxMessageBox("buffer retreived" );
  37.                 return (long)pBuffer;
  38.    }
  39. }


merci d'avance pour toute personne qui peut m'aider.


Message édité par fedora6 le 05-05-2008 à 21:36:15

---------------
fedora6
Reply

Marsh Posté le 05-05-2008 à 18:16:49   

Reply

Marsh Posté le 05-05-2008 à 18:23:46    

This is a french forum.  
I'm afraid you'll have to use that language if you want to get an answer.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed