X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fxinema.h;h=e82f26faaa48a038e4d670e4f17f37f7454fa60e;hb=649ced5849086abe7711d588f95a48677936515a;hp=ce9e92af666ab7f71c7c42e9f8e85fcfef5102b1;hpb=b59b30ecd8131677b42232722df901120bd62213;p=xinema.git diff --git a/source/xinema.h b/source/xinema.h index ce9e92a..e82f26f 100644 --- a/source/xinema.h +++ b/source/xinema.h @@ -2,9 +2,13 @@ #define XINEMA_H_ #include +#include #include #include -#include +#include "networkinterface.h" + +class XineEngine; +class XineStream; class Xinema: public Msp::RegisteredApplication { @@ -14,27 +18,30 @@ private: EarlyInit(); }; +public: + sigc::signal signal_stream_created; + +private: EarlyInit early_init; - std::string filename; Msp::Graphics::Display display; 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 &); + XineStream *get_stream() const { return stream; } }; #endif