X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fxineengine.h;h=50b0927659089d0c417c480daf5316066e9dfca4;hb=649ced5849086abe7711d588f95a48677936515a;hp=2949734714419697813e3f3a62ad0da0f0aa72ef;hpb=2204af390e6fe6db98c5d2f6e5317f841dc31198;p=xinema.git diff --git a/source/xineengine.h b/source/xineengine.h index 2949734..50b0927 100644 --- a/source/xineengine.h +++ b/source/xineengine.h @@ -4,7 +4,6 @@ #include #include #include -#include #include class XineStream; @@ -13,23 +12,24 @@ class XineEngine: public sigc::trackable { private: Msp::Graphics::Window &window; - Msp::Mutex *display_mutex; - pthread_t locked_thread; - unsigned lock_count; xine_t *engine; xine_audio_port_t *audio_driver; x11_visual_t visual; xine_video_port_t *video_driver; Msp::Graphics::Window::Event *pending_expose; + std::list streams; public: - XineEngine(Msp::Graphics::Window &, Msp::Mutex * = 0); + XineEngine(Msp::Graphics::Window &); ~XineEngine(); xine_t *get_engine() { return engine; } xine_audio_port_t *get_audio_driver() { return audio_driver; } xine_video_port_t *get_video_driver() { return video_driver; } + void add_stream(XineStream &); + void remove_stream(XineStream &); + void tick(); private: @@ -37,8 +37,6 @@ private: static void dest_size_cb(void *, int, int, double, int *, int *, double *); static void frame_output_cb(void *, int, int, double, int *, int *, int *, int *, double *, int *, int *); - static void lock_cb(void *); - static void unlock_cb(void *); }; #endif