X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fxinema.h;h=c54732d464f9dc2be94af01a688ea96c55cc590c;hb=8c7e5bd0d1f966af2b22293a3a0780c419fb9c95;hp=ce9e92af666ab7f71c7c42e9f8e85fcfef5102b1;hpb=b59b30ecd8131677b42232722df901120bd62213;p=xinema.git diff --git a/source/xinema.h b/source/xinema.h index ce9e92a..c54732d 100644 --- a/source/xinema.h +++ b/source/xinema.h @@ -2,39 +2,37 @@ #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(); - }; - - EarlyInit early_init; - std::string filename; 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