+ bool new_stream = false;
+
+ {
+ MutexLock lock(command_mutex);
+ if(!pending_mrl.empty())
+ {
+ delete stream;
+ stream = new XineStream(*engine, pending_mrl);
+ stream->play();
+ pending_mrl.clear();
+ new_stream = true;
+ }
+ }
+
+ if(new_stream)
+ signal_stream_created.emit(*stream);
+