5 #include <sigc++/trackable.h>
7 #include <msp/graphics/window.h>
11 class XineEngine: public sigc::trackable
14 Msp::Graphics::Window &window;
16 xine_audio_port_t *audio_driver;
18 xine_video_port_t *video_driver;
19 Msp::Graphics::Window::Event *pending_expose;
20 std::list<XineStream *> streams;
23 XineEngine(Msp::Graphics::Window &);
26 xine_t *get_engine() { return engine; }
27 xine_audio_port_t *get_audio_driver() { return audio_driver; }
28 xine_video_port_t *get_video_driver() { return video_driver; }
30 void add_stream(XineStream &);
31 void remove_stream(XineStream &);
36 void window_exposed(unsigned, unsigned, unsigned, unsigned, const Msp::Graphics::Window::Event &);
38 static void dest_size_cb(void *, int, int, double, int *, int *, double *);
39 static void frame_output_cb(void *, int, int, double, int *, int *, int *, int *, double *, int *, int *);