Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

#ActualLyev

Posted 19 May 2012 - 03:59 AM

First of all I learnt how to do this from http://nehe.gamedev....n_opengl/23001/
AVIStreamGetFrameOpen is always returning NULL. I checked to see if I could open the AVI file in windows media player and that worked, so that means it can't be a codec problem, right? I'm not too sure. All the variables have valid values before the call to AVIStreamGetFrameOpen
Here's my code:

if (AVIStreamOpenFromFile(&avi, file, streamtypeVIDEO, 0, OF_READ, NULL) != 0)
  return;
AVIStreamInfo (avi, &info, sizeof(info));
w = info.rcFrame.right - info.rcFrame.left;
h = info.rcFrame.bottom - info.rcFrame.top;
lastframe = AVIStreamLength (avi);
mpf = AVIStreamSampleToTime (avi, lastframe) / lastframe;
header.biSize = sizeof (BITMAPINFOHEADER);	
header.biPlanes = 1;		 
header.biBitCount = 24;		 
header.biWidth = BITMAP_WIDTH;		 
header.biHeight = BITMAP_HEIGHT;		 
header.biCompression = BI_RGB;	  
bitmap = CreateDIBSection (hdc, (BITMAPINFO*)(&header), DIB_RGB_COLORS, (void**)(&data), NULL, NULL);
SelectObject (hdc, bitmap);
pgf = AVIStreamGetFrameOpen (avi, NULL);
if (!pgf)
  return;

#1Lyev

Posted 19 May 2012 - 03:58 AM

First of all I learnt how to do this from http://nehe.gamedev.net/tutorial/playing_avi_files_in_opengl/23001/
AVIStreamGetFrameOpen is always returning NULL. I checked to see if I could open the AVI file in windows media player and that worked, so that means it can't be a codec problem, right? I'm not too sure. All the variables have valid values before the call to AVIStreamGetFrameOpen
Here's my code:
  • if (AVIStreamOpenFromFile(&avi, file, streamtypeVIDEO, 0, OF_READ, NULL) != 0)
  •     return;
  • AVIStreamInfo (avi, &info, sizeof(info));
  • w = info.rcFrame.right - info.rcFrame.left;
  • h = info.rcFrame.bottom - info.rcFrame.top;
  • lastframe = AVIStreamLength (avi);
  • mpf = AVIStreamSampleToTime (avi, lastframe) / lastframe;
  • header.biSize = sizeof (BITMAPINFOHEADER);
  • header.biPlanes = 1;
  • header.biBitCount = 24;
  • header.biWidth = w;
  • header.biHeight = h;
  • header.biCompression = BI_RGB;
  • bitmap = CreateDIBSection (hdc, (BITMAPINFO*)(&header), DIB_RGB_COLORS, (void**)(&data), NULL, NULL);
  • SelectObject (hdc, bitmap);
  • pgf = AVIStreamGetFrameOpen (avi, NULL);
  • if (!pgf)
  •     return;

PARTNERS