X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fservice%2Fservicedvbrecord.cpp;h=08cd24710e89e4978ed2b0f720f458eff5faaa72;hp=6978849202ce8483f111229fd1ac98f3e9cc180f;hb=7b76c1241ca53ff1dec451d0732719d3882c56a6;hpb=8188ccaebf3b9c51ef2916cb7e69ef954291392f diff --git a/lib/service/servicedvbrecord.cpp b/lib/service/servicedvbrecord.cpp index 6978849..08cd247 100644 --- a/lib/service/servicedvbrecord.cpp +++ b/lib/service/servicedvbrecord.cpp @@ -313,7 +313,7 @@ int eDVBServiceRecord::doRecord() int timing_pid = -1, timing_pid_type = -1; - eDebugNoNewLine("RECORD: have %d video stream(s)", program.videoStreams.size()); + eDebugNoNewLine("RECORD: have %zd video stream(s)", program.videoStreams.size()); if (!program.videoStreams.empty()) { eDebugNoNewLine(" ("); @@ -335,7 +335,7 @@ int eDVBServiceRecord::doRecord() } eDebugNoNewLine(")"); } - eDebugNoNewLine(", and %d audio stream(s)", program.audioStreams.size()); + eDebugNoNewLine(", and %zd audio stream(s)", program.audioStreams.size()); if (!program.audioStreams.empty()) { eDebugNoNewLine(" ("); @@ -389,7 +389,7 @@ int eDVBServiceRecord::doRecord() std::set_difference( m_pids_active.begin(), m_pids_active.end(), pids_to_record.begin(), pids_to_record.end(), - std::inserter(new_pids, new_pids.begin()) + std::inserter(obsolete_pids, obsolete_pids.begin()) ); for (std::set::iterator i(new_pids.begin()); i != new_pids.end(); ++i) @@ -493,8 +493,7 @@ void eDVBServiceRecord::gotNewEvent() eDebug("getting PCR failed!"); else { - static int i; - m_event_timestamps[/* event_id*/ ++i] = p; + m_event_timestamps[event_id] = p; eDebug("pcr of eit change: %llx", p); } } @@ -503,6 +502,8 @@ void eDVBServiceRecord::gotNewEvent() eDebug("[eDVBServiceRecord] now running: %s (%d seconds)", event_now->getEventName().c_str(), event_now->getDuration()); m_last_event_id = event_id; + + m_event((iRecordableService*)this, evNewEventInfo); } void eDVBServiceRecord::saveCutlist() @@ -548,3 +549,29 @@ void eDVBServiceRecord::saveCutlist() } } + +RESULT eDVBServiceRecord::subServices(ePtr &ptr) +{ + ptr = this; + return 0; +} + +int eDVBServiceRecord::getNumberOfSubservices() +{ + ePtr evt; + if (!m_event_handler.getEvent(evt, 0)) + return evt->getNumOfLinkageServices(); + return 0; +} + +RESULT eDVBServiceRecord::getSubservice(eServiceReference &sub, unsigned int n) +{ + ePtr evt; + if (!m_event_handler.getEvent(evt, 0)) + { + if (!evt->getLinkageService(sub, m_ref, n)) + return 0; + } + sub.type=eServiceReference::idInvalid; + return -1; +}