]> git.tdb.fi Git - xinema.git/blobdiff - source/xinestream.cpp
Use filename as a fallback title if the stream doesn't have one
[xinema.git] / source / xinestream.cpp
index 7317f7c8838449e8e901676ea4b8ebce4799760a..4fc2e88fa1f569bcf2ef811117d2a02eb8bbef11 100644 (file)
@@ -7,7 +7,9 @@ using namespace Msp;
 
 XineStream::XineStream(XineEngine &e, const string &mrl):
        engine(e),
+       filename(mrl.substr(mrl.rfind('/')+1)),
        state(STOPPED),
+       title(filename),
        current_audio(0),
        current_spu(OFF),
        channels_changed(false)
@@ -22,6 +24,11 @@ XineStream::XineStream(XineEngine &e, const string &mrl):
        engine.add_stream(*this);
 }
 
+const string &XineStream::get_title() const
+{
+       return title.empty() ? filename : title;
+}
+
 XineStream::~XineStream()
 {
        engine.remove_stream(*this);
@@ -120,7 +127,7 @@ void XineStream::update_info()
        {
                MutexLock lock(mutex);
                title = (xt ? xt : string());
-               signal_title_changed.emit(title);
+               signal_title_changed.emit(get_title());
        }
 
        int dur_msec, pos_msec;