]> git.tdb.fi Git - xinema.git/blobdiff - source/xinestream.cpp
Refactor code to have the engine tick any streams
[xinema.git] / source / xinestream.cpp
index fd2c6224fb9e6aea49551af343f829b4881d37fe..69a0c1f44bdf90e69be4d22e4928af5a21843f3b 100644 (file)
@@ -5,16 +5,21 @@
 using namespace std;
 using namespace Msp;
 
-XineStream::XineStream(XineEngine &engine, const string &mrl)
+XineStream::XineStream(XineEngine &e, const string &mrl):
+       engine(e)
 {
        stream = xine_stream_new(engine.get_engine(), engine.get_audio_driver(), engine.get_video_driver());
        xine_open(stream, mrl.c_str());
 
        queue = xine_event_new_queue(stream);
+
+       engine.add_stream(*this);
 }
 
 XineStream::~XineStream()
 {
+       engine.remove_stream(*this);
+
        xine_close(stream);
        xine_event_dispose_queue(queue);
        xine_dispose(stream);