00001 #ifndef IMAGE_XINEINPUT_H 00002 #define IMAGE_XINEINPUT_H 00003 00004 #include "mimasconfig.h" 00005 00006 #ifdef HAVE_XINE 00007 00008 #ifdef HAVE_CONFIG_H 00009 #undef HAVE_CONFIG_H 00010 #include <xine.h> 00011 #include <xine/xineutils.h> 00012 #define HAVE_CONFIG_H 00013 #else 00014 #include <xine.h> 00015 #include <xine/xineutils.h> 00016 #endif 00017 #include "image_input.h" 00018 #include "rgba.h" 00019 00020 namespace mimas { 00021 00046 template< typename T > 00047 class image_xineinput: public image_input< T > 00048 { 00049 public: 00056 explicit image_xineinput( const std::string &_mrl, 00057 const char *vo_driver = "auto", 00058 const char *ao_driver = NULL ) 00059 throw (mimasexception); 00061 virtual ~image_xineinput(void); 00064 virtual void read( image< T > &img ) throw (mimasexception); 00065 protected: 00067 std::string mrl; 00069 xine_t *xine; 00071 xine_video_port_t *vo_port; 00073 xine_audio_port_t *ao_port; 00075 xine_stream_t *stream; 00077 int width; 00079 int height; 00081 int format; 00082 }; 00083 00085 00087 00088 }; 00089 00090 #include "image_xineinput.tcc" 00091 00092 #endif 00093 00094 #endif