1 #include <msp/io/print.h>
2 #include "xineengine.h"
3 #include "xinestream.h"
8 XineStream::XineStream(XineEngine &engine, const string &mrl)
10 stream = xine_stream_new(engine.get_engine(), engine.get_audio_driver(), engine.get_video_driver());
11 xine_open(stream, mrl.c_str());
13 queue = xine_event_new_queue(stream);
16 XineStream::~XineStream()
19 xine_event_dispose_queue(queue);
23 void XineStream::play()
25 xine_play(stream, 0, 0);
28 void XineStream::stop()
33 void XineStream::tick()
35 while(xine_event_t *event = xine_event_get(queue))
38 xine_event_free(event);
42 void XineStream::handle_event(const xine_event_t &event)
46 case XINE_EVENT_PROGRESS:
48 xine_progress_data_t *data = reinterpret_cast<xine_progress_data_t *>(event.data);
49 IO::print("%s [%d%%]\n", data->description, data->percent);