X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/812cf012acb92112b4f5f3bc6d2728c23448934b..bc40d49c3f56137b65986cca012e6792ad1fdc33:/lib/service/servicemp3.cpp diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index cf71f781..0b2ac9d4 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -46,6 +46,7 @@ eServiceFactoryMP3::eServiceFactoryMP3() extensions.push_back("mp4"); extensions.push_back("mov"); extensions.push_back("m4a"); + extensions.push_back("m2ts"); sc->addServiceFactory(eServiceFactoryMP3::id, this, extensions); } @@ -189,6 +190,25 @@ int eStaticServiceMP3Info::getLength(const eServiceReference &ref) return -1; } +int eStaticServiceMP3Info::getInfo(const eServiceReference &ref, int w) +{ + switch (w) + { + case iServiceInformation::sTimeCreate: + { + struct stat s; + if(stat(ref.path.c_str(), &s) == 0) + { + return s.st_mtime; + } + return iServiceInformation::resNA; + } + default: break; + } + return iServiceInformation::resNA; +} + + // eServiceMP3 int eServiceMP3::ac3_delay, eServiceMP3::pcm_delay; @@ -283,11 +303,11 @@ eServiceMP3::eServiceMP3(eServiceReference ref) if ( ret == -1 ) // this is a "REAL" VCD uri = g_strdup_printf ("vcd://"); else - uri = g_strdup_printf ("file://%s", filename); + uri = g_filename_to_uri(filename, NULL, NULL); } else - uri = g_strdup_printf ("file://%s", filename); + uri = g_filename_to_uri(filename, NULL, NULL); eDebug("eServiceMP3::playbin2 uri=%s", uri); @@ -321,9 +341,8 @@ eServiceMP3::eServiceMP3(eServiceReference ref) struct stat buffer; if (stat(srt_filename, &buffer) == 0) { - std::string suburi = "file://" + (std::string)srt_filename; - eDebug("eServiceMP3::subtitle uri: %s",suburi.c_str()); - g_object_set (G_OBJECT (m_gst_playbin), "suburi", suburi.c_str(), NULL); + eDebug("eServiceMP3::subtitle uri: %s", g_filename_to_uri(srt_filename, NULL, NULL)); + g_object_set (G_OBJECT (m_gst_playbin), "suburi", g_filename_to_uri(srt_filename, NULL, NULL), NULL); subtitleStream subs; subs.type = stSRT; subs.language_code = std::string("und");