X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e21cff679bb73bce310e877d5219ec29291dbe10..ea4de8eab5e1b347d27a7ffef595d75c69b0f647:/lib/service/servicedvbrecord.cpp?ds=sidebyside diff --git a/lib/service/servicedvbrecord.cpp b/lib/service/servicedvbrecord.cpp index 294315e9..d9cdb516 100644 --- a/lib/service/servicedvbrecord.cpp +++ b/lib/service/servicedvbrecord.cpp @@ -132,6 +132,8 @@ RESULT eDVBServiceRecord::prepare(const char *filename, time_t begTime, time_t e meta.m_name = name; if (descr) meta.m_description = descr; + if (tags) + meta.m_tags = tags; ret = meta.updateMeta(filename) ? -255 : 0; if (!ret) { @@ -387,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) @@ -501,6 +503,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() @@ -546,3 +550,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; +}