X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_ffmpeg%2Fmptr_ffmpeg.cpp;h=f837c7bd83c8d5b82d30b4f2b02fc0a5de1dce34;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=e74f772f7593bd0e1811f658d64ee2b21c87b920;hpb=d04c74c8f5a45493895afdaba9b39772401fbf39;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 e74f772..f837c7b 100644 --- a/synfig-core/trunk/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp +++ b/synfig-core/trunk/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -76,6 +77,11 @@ SYNFIG_IMPORTER_SET_CVS_ID(ffmpeg_mptr,"$Id$"); /* === M E T H O D S ======================================================= */ +bool ffmpeg_mptr::is_animated() +{ + return true; +} + bool ffmpeg_mptr::seek_to(int frame) { @@ -95,27 +101,27 @@ ffmpeg_mptr::seek_to(int frame) #if defined(WIN32_PIPE_TO_PROCESSES) string command; - - command=strprintf("ffmpeg -i \"%s\" -an -f image2pipe -vcodec ppm -\n",filename.c_str()); - + + command=strprintf("ffmpeg -ss 00:00:00.%d -i \"%s\" -an -f image2pipe -vcodec ppm -\n",frame,filename.c_str()); + file=popen(command.c_str(),POPEN_BINARY_READ_TYPE); #elif defined(UNIX_PIPE_TO_PROCESSES) int p[2]; - + if (pipe(p)) { cerr<<"Unable to open pipe to ffmpeg"<