X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_ffmpeg%2Fmptr_ffmpeg.cpp;h=f05b2d463589564f19b03714d36d3905781d14c3;hb=83224f8cf1f9b7b15918a130759717a5a375be91;hp=023d8f8290059b99b9fe33ae34563133a125bb01;hpb=21bfc670b83d4c45da9ed1b95063b7e6a007168c;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp b/synfig-core/trunk/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp index 023d8f8..f05b2d4 100644 --- a/synfig-core/trunk/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp +++ b/synfig-core/trunk/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp @@ -1,8 +1,10 @@ -/*! ======================================================================== -** Synfig -** ppm Target Module -** $Id: mptr_ffmpeg.cpp,v 1.1.1.1 2005/01/04 01:23:10 darco Exp $ +/* === S Y N F I G ========================================================= */ +/*! \file mptr_ffmpeg.cpp +** \brief ppm Target Module ** +** $Id$ +** +** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** ** This package is free software; you can redistribute it and/or @@ -14,6 +16,7 @@ ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** General Public License for more details. +** \endlegal ** ** === N O T E S =========================================================== ** @@ -31,6 +34,9 @@ #include #include "mptr_ffmpeg.h" #include +#include +#include +#include #include #include #include @@ -49,7 +55,7 @@ SYNFIG_IMPORTER_INIT(ffmpeg_mptr); SYNFIG_IMPORTER_SET_NAME(ffmpeg_mptr,"ffmpeg"); SYNFIG_IMPORTER_SET_EXT(ffmpeg_mptr,"avi"); SYNFIG_IMPORTER_SET_VERSION(ffmpeg_mptr,"0.1"); -SYNFIG_IMPORTER_SET_CVS_ID(ffmpeg_mptr,"$Id: mptr_ffmpeg.cpp,v 1.1.1.1 2005/01/04 01:23:10 darco Exp $"); +SYNFIG_IMPORTER_SET_CVS_ID(ffmpeg_mptr,"$Id$"); /* === M E T H O D S ======================================================= */ @@ -60,15 +66,48 @@ ffmpeg_mptr::seek_to(int frame) { if(file) { - pclose(file); + fclose(file); + int status; + waitpid(pid,&status,0); + } + + int p[2]; + + if (pipe(p)) { + cerr<<"Unable to open pipe to ffmpeg"<