X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fxineengine.cpp;h=5dadc93a5c7cfb35c23ffba992d871d23a166290;hb=0ebb4044ca544358d6d944a89fd9f6e806528be4;hp=656990e012ecbfafa7da5c0873ac9d350e35ecdb;hpb=2204af390e6fe6db98c5d2f6e5317f841dc31198;p=xinema.git diff --git a/source/xineengine.cpp b/source/xineengine.cpp index 656990e..5dadc93 100644 --- a/source/xineengine.cpp +++ b/source/xineengine.cpp @@ -1,8 +1,10 @@ +#include #include #include #include #include #include "xineengine.h" +#include "xinestream.h" using namespace std; using namespace Msp; @@ -56,6 +58,18 @@ XineEngine::~XineEngine() xine_exit(engine); } +void XineEngine::add_stream(XineStream &stream) +{ + streams.push_back(&stream); +} + +void XineEngine::remove_stream(XineStream &stream) +{ + list::iterator i = find(streams.begin(), streams.end(), &stream); + if(i!=streams.end()) + streams.erase(i); +} + void XineEngine::tick() { if(pending_expose) @@ -64,6 +78,9 @@ void XineEngine::tick() delete pending_expose; pending_expose = 0; } + + for(list::const_iterator i=streams.begin(); i!=streams.end(); ++i) + (*i)->tick(); } void XineEngine::window_exposed(unsigned, unsigned, unsigned, unsigned, const Graphics::Window::Event &event)