- case SHORT_EVENT_DESCRIPTOR:
- {
- const ShortEventDescriptor *sed = (ShortEventDescriptor*)*desc;
- m_event_name = convertDVBUTF8(sed->getEventName());
- m_description = convertDVBUTF8(sed->getText());
- break;
+ case LINKAGE_DESCRIPTOR:
+ m_linkage_services.clear();
+ break;
+ case SHORT_EVENT_DESCRIPTOR:
+ {
+ const ShortEventDescriptor *sed = (ShortEventDescriptor*)*desc;
+ const std::string &cc = sed->getIso639LanguageCode();
+ int table=encodingHandler.getCountryCodeDefaultMapping(cc);
+ if (lang.empty() || cc == lang)
+ {
+ m_event_name = convertDVBUTF8(sed->getEventName(), table, tsidonid);
+ m_short_description = convertDVBUTF8(sed->getText(), table, tsidonid);
+ retval=1;
+ }
+ break;
+ }
+ case EXTENDED_EVENT_DESCRIPTOR:
+ {
+ const ExtendedEventDescriptor *eed = (ExtendedEventDescriptor*)*desc;
+ const std::string &cc = eed->getIso639LanguageCode();
+ int table=encodingHandler.getCountryCodeDefaultMapping(cc);
+ if (lang.empty() || cc == lang)
+ {
+ m_extended_description += convertDVBUTF8(eed->getText(), table, tsidonid);
+ retval=1;
+ }
+#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;