git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dvb/frontend: set sec once
[enigma2.git]
/
lib
/
service
/
event.cpp
diff --git
a/lib/service/event.cpp
b/lib/service/event.cpp
index 45a278793478908026418a06d8289314f581b689..684c9e5e93418d6aa9a7a6b3b89f434ed4522e83 100644
(file)
--- a/
lib/service/event.cpp
+++ b/
lib/service/event.cpp
@@
-52,7
+52,7
@@
std::string ISOtbl[MAX_LANG][2] =
};
/* search for the presence of language from given EIT event descriptors*/
};
/* search for the presence of language from given EIT event descriptors*/
-bool eServiceEvent::l
anguage_exists
(Event *evt, std::string lang)
+bool eServiceEvent::l
oadLanguage
(Event *evt, std::string lang)
{
bool retval=0;
for (DescriptorConstIterator desc = evt->getDescriptors()->begin(); desc != evt->getDescriptors()->end(); ++desc)
{
bool retval=0;
for (DescriptorConstIterator desc = evt->getDescriptors()->begin(); desc != evt->getDescriptors()->end(); ++desc)
@@
-78,13
+78,24
@@
bool eServiceEvent::language_exists(Event *evt, std::string lang)
m_extended_description += convertDVBUTF8(eed->getText());
retval=1;
}
m_extended_description += convertDVBUTF8(eed->getText());
retval=1;
}
- // TODO handling for extended event items? ( producer... )
+#if 0
+ const ExtendedEventList *itemlist = eed->getItems();
+ for (ExtendedEventConstIterator it = itemlist->begin(); it != itemlist->end(); ++it)
+ {
+ m_extended_description += '\n';
+ m_extended_description += convertDVBUTF8((*it)->getItemDescription());
+ m_extended_description += ' ';
+ m_extended_description += convertDVBUTF8((*it)->getItem());
+ }
+#endif
break;
}
default:
break;
}
}
break;
}
default:
break;
}
}
+ if ( m_extended_description.find(m_short_description) == 0 )
+ m_short_description="";
return retval;
}
return retval;
}
@@
-92,7
+103,7
@@
RESULT eServiceEvent::parseFrom(Event *evt)
{
uint16_t stime_mjd = evt->getStartTimeMjd();
uint32_t stime_bcd = evt->getStartTimeBcd();
{
uint16_t stime_mjd = evt->getStartTimeMjd();
uint32_t stime_bcd = evt->getStartTimeBcd();
- uint
16
_t duration = evt->getDuration();
+ uint
32
_t duration = evt->getDuration();
m_begin = parseDVBtime(
stime_mjd >> 8,
stime_mjd&0xFF,
m_begin = parseDVBtime(
stime_mjd >> 8,
stime_mjd&0xFF,
@@
-100,17
+111,28
@@
RESULT eServiceEvent::parseFrom(Event *evt)
(stime_bcd >> 8)&0xFF,
stime_bcd & 0xFF
);
(stime_bcd >> 8)&0xFF,
stime_bcd & 0xFF
);
- m_duration =
((duration & 0xFF) + (duration >> 8) & 0xFF) * 24 * 60
;
+ m_duration =
fromBCD(duration>>16)*3600+fromBCD(duration>>8)*60+fromBCD(duration)
;
std::string country="de_DE"; // TODO use local data here
for (int i=0; i < MAX_LANG; i++)
if (country==ISOtbl[i][0])
std::string country="de_DE"; // TODO use local data here
for (int i=0; i < MAX_LANG; i++)
if (country==ISOtbl[i][0])
- if (l
anguage_exists
(evt,ISOtbl[i][1]))
+ if (l
oadLanguage
(evt,ISOtbl[i][1]))
return 0;
return 0;
- if (l
anguage_exists
(evt,"eng"))
+ if (l
oadLanguage
(evt,"eng"))
return 0;
return 0;
- if (l
anguage_exists
(evt,std::string()))
+ if (l
oadLanguage
(evt,std::string()))
return 0;
return 0;
}
return 0;
return 0;
}
+std::string eServiceEvent::getBeginTimeString()
+{
+ tm t;
+ localtime_r(&m_begin, &t);
+ char tmp[13];
+ snprintf(tmp, 13, "%02d.%02d, %02d:%02d",
+ t.tm_mday, t.tm_mon+1,
+ t.tm_hour, t.tm_min);
+ return std::string(tmp, 12);
+}
+
DEFINE_REF(eDebugClass);
DEFINE_REF(eDebugClass);