+ bool had_stream = stream;
+
+ delete stream;
+ stream = 0;
+
+ if(had_stream && !logo_mode)
+ signal_stream_destroyed.emit();
+
+ logo_mode = logo;
+ stream = new XineStream(*engine, mrl);
+ if(!logo_mode)
+ stream->signal_finished.connect(sigc::mem_fun(this, &Xinema::show_logo));
+ stream->play();
+
+ if(!logo_mode)
+ signal_stream_created.emit(*stream);