X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fxinema.h;h=3a2bae178698a742e3608f074247355e6f950609;hb=3bd92c1fa7a85b47356cd6f2bad23893955a0785;hp=ce9e92af666ab7f71c7c42e9f8e85fcfef5102b1;hpb=b59b30ecd8131677b42232722df901120bd62213;p=xinema.git diff --git a/source/xinema.h b/source/xinema.h index ce9e92a..3a2bae1 100644 --- a/source/xinema.h +++ b/source/xinema.h @@ -2,39 +2,40 @@ #define XINEMA_H_ #include +#include +#include #include #include -#include +#include "networkinterface.h" + +class XineEngine; +class XineStream; class Xinema: public Msp::RegisteredApplication { -private: - struct EarlyInit - { - EarlyInit(); - }; +public: + sigc::signal signal_stream_created; - EarlyInit early_init; - std::string filename; +private: Msp::Graphics::Display display; + Msp::Mutex display_mutex; Msp::Graphics::Window window; - xine_t *xine; - xine_audio_port_t *xine_audio; - x11_visual_t xine_visual; - xine_video_port_t *xine_video; - xine_stream_t *xine_stream; - xine_event_queue_t *xine_queue; + NetworkInterface network; + XineEngine *engine; + XineStream *stream; + + Msp::Mutex command_mutex; + std::string pending_mrl; public: Xinema(int, char **); virtual int main(); - private: virtual void tick(); - 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 *); +public: + void play_file(const Msp::FS::Path &); }; #endif