Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.09;
Скачать: CL | DM;

Вниз

Video for Windows   Найти похожие ветки 

 
Ozone ©   (2004-10-05 06:48) [0]

Пытаюсь разбить AVI"шку на кадры. Делаю так:


uses vfw;

{...}

var
  Error: integer;
  pFile: IAVIFile;
  AVIFInfo: TAVIFILEINFO;
  AVIStream: IAVIStream;
  GFrame: IGetFrame;
begin

AVIFileInit;

Error := AVIFileOpen(pFile, PChar(FName), 0, nil);
if Error <> 0 then begin
 AVIFileExit;
 ShowMessage("< ERROR_OPEN >");
 exit;
end;

if AVIFileInfo(pFile, AVIFInfo, SizeOf(AVIFInfo)) <> AVIERR_OK then begin
 AVIFileRelease(pFile);
 AVIFileExit;
 ShowMessage("< ERROR_INFO >");
 exit;
end;

Error := AVIFileGetStream(pFile, AVIStream, streamtypeVIDEO, 0);
if Error <> AVIERR_OK then begin
  AVIFileRelease(pFile);
  AVIFileExit;
  ShowMessage("< ERROR_STREAM >");
  exit;
end;

GFrame := AVIStreamGetFrameOpen(AVIStream, nil);
if GFrame = nil then begin
  AVIStreamRelease(AVIStream);
  AVIFileRelease(pFile);
  AVIFileExit;
  exit;
end;

{ здесь будет покадровое считывание и сохранение - его еще нет!}

AVIStreamGetFrameClose(GFrame);
AVIStreamRelease(AVIStream);
AVIFileRelease(pFile);
AVIFileExit;

end.


Т.е. казалось бы я еще ичего такого не сделал, но при таком коде вылетает "AV at address 00404E78. Read address FEEEFEF6".

В каком месте я напортачил?


 
PGM_X   (2004-10-05 10:29) [1]

Может тут не лады "pFile: IAVIFile <> PAVIFILE". Насколько я помню (давно это было :-)) у меня в VFW про COM объекты вообще не было.



Страницы: 1 вся ветка

Текущий архив: 2005.01.09;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.042 c
4-1100809345
Apophis
2004-11-18 23:22
2005.01.09
Обновление списка оборудования ОС


9-1095057364
BRemB
2004-09-13 10:36
2005.01.09
Определение координат точки


14-1103268965
msguns
2004-12-17 10:36
2005.01.09
До Нового Года осталось ровно две недели.


1-1103704794
ORMADA
2004-12-22 11:39
2005.01.09
TThread


1-1103182665
PEKAHT
2004-12-16 10:37
2005.01.09
DDE