synfig-core  1.0.3
mptr_ffmpeg.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
25 /* === S T A R T =========================================================== */
26 
27 #ifndef __SYNFIG_MPTR_FFMPEG_H
28 #define __SYNFIG_MPTR_FFMPEG_H
29 
30 /* === H E A D E R S ======================================================= */
31 
32 #include <synfig/importer.h>
33 #include <sys/types.h>
34 #include <cstdio>
35 #include "string.h"
36 #ifdef HAVE_TERMIOS_H
37 #include <termios.h>
38 
39 #endif
40 
41 #include <synfig/surface.h>
42 /* === M A C R O S ========================================================= */
43 
44 /* === T Y P E D E F S ===================================================== */
45 
46 /* === C L A S S E S & S T R U C T S ======================================= */
47 
49 {
51 public:
52 private:
53  pid_t pid;
54  FILE *file;
55  int cur_frame;
56  synfig::Surface frame;
57  float fps;
58 #ifdef HAVE_TERMIOS_H
59  struct termios oldtty;
60 #endif
61 
62  bool seek_to(int frame);
63  bool grab_frame(void);
64 
65 public:
67  ~ffmpeg_mptr();
68 
69  virtual bool is_animated();
70 
71  virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
72 };
73 
74 /* === E N D =============================================================== */
75 
76 #endif