]> git.tdb.fi Git - xinema.git/blob - source/xinema.h
A simple application using libxine to play a video file
[xinema.git] / source / xinema.h
1 #ifndef XINEMA_H_
2 #define XINEMA_H_
3
4 #include <msp/core/application.h>
5 #include <msp/graphics/display.h>
6 #include <msp/graphics/window.h>
7 #include <xine.h>
8
9 class Xinema: public Msp::RegisteredApplication<Xinema>
10 {
11 private:
12         struct EarlyInit
13         {
14                 EarlyInit();
15         };
16
17         EarlyInit early_init;
18         std::string filename;
19         Msp::Graphics::Display display;
20         Msp::Graphics::Window window;
21         xine_t *xine;
22         xine_audio_port_t *xine_audio;
23         x11_visual_t xine_visual;
24         xine_video_port_t *xine_video;
25         xine_stream_t *xine_stream;
26         xine_event_queue_t *xine_queue;
27
28 public:
29         Xinema(int, char **);
30
31         virtual int main();
32
33 private:
34         virtual void tick();
35
36         static void dest_size_cb(void *, int, int, double, int *, int *, double *);
37         static void frame_output_cb(void *, int, int, double, int *, int *, int *, int *, double *, int *, int *);
38 };
39
40 #endif