X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fservice%2Fservicedvb.cpp;h=8650989a49c501b9b514df9434e6eca326cc845c;hb=69c8b669b814af168ed5bbedd60bdf2909274f12;hp=2fd66710abe59ffe8bc6556ef9f4c6201930dc68;hpb=875ad71cf9bcace9336cb8eafa8974b84a5347b2;p=vuplus_dvbapp diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 2fd6671..8650989 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -309,7 +309,9 @@ eStaticServiceDVBPVRInformation::eStaticServiceDVBPVRInformation(const eServiceR RESULT eStaticServiceDVBPVRInformation::getName(const eServiceReference &ref, std::string &name) { ASSERT(ref == m_ref); - if (m_parser.m_name.size()) + if (!ref.name.empty()) + name = ref.name; + else if (!m_parser.m_name.empty()) name = m_parser.m_name; else { @@ -903,7 +905,7 @@ RESULT eServiceFactoryDVB::lookupService(ePtr &service, const eServ /* we are sure to have a ..DVB reference as the info() call was forwarded here according to it's ID. */ if ((err = db->getService((eServiceReferenceDVB&)ref, service)) != 0) { - eDebug("getService failed!"); +// eDebug("getService failed!"); return err; } } @@ -1094,7 +1096,7 @@ void eDVBServicePlay::serviceEventTimeshift(int event) if (m_skipmode < 0) m_cue->seekTo(0, -1000); - ePtr source = createDataSource(r); + ePtr source = createTsSource(r); m_service_handler_timeshift.tuneExt(r, 1, source, r.path.c_str(), m_cue, 0, m_dvb_service); /* use the decoder demux for everything */ m_event((iPlayableService*)this, evUser+1); @@ -1124,7 +1126,7 @@ void eDVBServicePlay::serviceEventTimeshift(int event) m_service_handler_timeshift.free(); resetTimeshift(1); - ePtr source = createDataSource(r); + ePtr source = createTsSource(r); m_service_handler_timeshift.tuneExt(r, 1, source, m_timeshift_file_next.c_str(), m_cue, 0, m_dvb_service); /* use the decoder demux for everything */ m_event((iPlayableService*)this, evUser+1); @@ -1155,7 +1157,7 @@ RESULT eDVBServicePlay::start() m_event(this, evStart); m_first_program_info = 1; - ePtr source = createDataSource(service); + ePtr source = createTsSource(service); m_service_handler.tuneExt(service, m_is_pvr, source, service.path.c_str(), m_cue, false, m_dvb_service); if (m_is_pvr) @@ -1799,6 +1801,8 @@ RESULT eDVBServicePlay::getTrackInfo(struct iAudioTrackInfo &info, unsigned int info.m_description = "AAC-HE"; else if (program.audioStreams[i].type == eDVBServicePMTHandler::audioStream::atDTS) info.m_description = "DTS"; + else if (program.audioStreams[i].type == eDVBServicePMTHandler::audioStream::atDTSHD) + info.m_description = "DTS-HD"; else info.m_description = "???"; @@ -2362,11 +2366,11 @@ void eDVBServicePlay::resetTimeshift(int start) m_timeshift_active = 0; } -ePtr eDVBServicePlay::createDataSource(eServiceReferenceDVB &ref) +ePtr eDVBServicePlay::createTsSource(eServiceReferenceDVB &ref) { eRawFile *f = new eRawFile(); f->open(ref.path.c_str()); - return ePtr(f); + return ePtr(f); } void eDVBServicePlay::switchToTimeshift() @@ -2381,7 +2385,7 @@ void eDVBServicePlay::switchToTimeshift() m_cue->seekTo(0, -1000); - ePtr source = createDataSource(r); + ePtr source = createTsSource(r); m_service_handler_timeshift.tuneExt(r, 1, source, m_timeshift_file.c_str(), m_cue, 0, m_dvb_service); /* use the decoder demux for everything */ eDebug("eDVBServicePlay::switchToTimeshift, in pause mode now."); @@ -2401,7 +2405,7 @@ void eDVBServicePlay::updateDecoder(bool sendSeekableStateChanged) eDebug("getting program info failed."); else { - eDebugNoNewLine("have %d video stream(s)", program.videoStreams.size()); + eDebugNoNewLine("have %zd video stream(s)", program.videoStreams.size()); if (!program.videoStreams.empty()) { eDebugNoNewLine(" ("); @@ -2420,7 +2424,7 @@ void eDVBServicePlay::updateDecoder(bool sendSeekableStateChanged) } eDebugNoNewLine(")"); } - eDebugNoNewLine(", and %d audio stream(s)", program.audioStreams.size()); + eDebugNoNewLine(", and %zd audio stream(s)", program.audioStreams.size()); if (!program.audioStreams.empty()) { eDebugNoNewLine(" ("); @@ -2597,7 +2601,7 @@ void eDVBServicePlay::loadCuesheet() m_cue_entries.insert(cueEntry(where, what)); } fclose(f); - eDebug("%d entries", m_cue_entries.size()); + eDebug("%zd entries", m_cue_entries.size()); } else eDebug("cutfile not found!");