Simple EIT Cache Service page

This page shows how to how to use EIT Cache Service.

var originalNetworkId = 167;
var transportStreamId = 1;
var serviceId = 272;
var languageText = "English";
var languageCode = "eng";
var eitCache = null;
var events = null;
var eitService = null;

function initService() {
  try {
    eitService = toi.statics.ToiDvbEitCacheServiceItem.create(originalNetworkId, transportStreamId, serviceId);
    eitCache.addService(eitService);
  } catch(e) {
    printLog("initEitCache problem: " + e);
  }
}

function clearServices() {
  printLog("clearServices");
  try {
    eitCache.clearServices();
    eitService = null;
  } catch(e) {
    printLog("clearServices problem: " + e);
  }
}

function onCacheUpdated(event) {
  printLog("ON_CACHE_UPDATED: " + event.updates.length +" events updated.");
}

function getEvents(time, duration) {
  printLog("GetEvents");
  var txt = "";
  if (!eitService) {
    initService();
  }
  try {
    if (time == undefined || duration == undefined) {
      time = 1000000000;
      duration = 2000000000;
    }

    events = eitCache.getEvents(eitService, time, duration);
  } catch(e) {
    printLog("getEvents problem 1: " + e);
  }
  try {
    if (events.more) {
      var t = eitCache.getEvents(eitService, time, duration);
      events.infoSequence.concat(t.infoSequence);
      events.more = t.more;
    }

    txt = "Number of events: " + events.infoSequence.length;
    txt = txt + "
Event more: " + events.more; var i = 0; for (i = 0; i < events.infoSequence.length; i++) { txt = txt + "

Event nr " + i + "
EventID= " + events.infoSequence[i].eventId + "
Name= " + events.infoSequence[i].name + "
Time= " + events.infoSequence[i].time + "
FreeCAmode= " + events.infoSequence[i].freeCaMode + "
Duration= " + events.infoSequence[i].duration + "
ContentNibbles= " + events.infoSequence[i].contentNibbles + "
ParentalRating= " + events.infoSequence[i].parentalRating; } } catch(e) { printLog("getEvents problem 2: " + e); } } function getPresentEvent() { printLog("getPresentEvent()"); if (!eitService) { initService(); } event = eitCache.getPresentEvent(eitService); printLog("event " + " : eventID=" + event.eventId + " : name=" + event.name + " : time=" + event.time + " : duration=" + event.duration + " : contentNibbles=" + event.contentNibbles + " : parentalRating=" + event.parentalRating); } function getFollowingEvent() { printLog("getFollowingEvent()"); if (!eitService) { initService(); } event = eitCache.getFollowingEvent(eitService); printLog("event " + " : eventID=" + event.eventId + " : name=" + event.name + " : time=" + event.time + " : duration=" + event.duration + " : freeCAMode=" + event.freeCAMode + " : contentNibbles=" + event.contentNibbles + " : parentalRating=" + event.parentalRating); } function getPrivateData() { printLog("getPrivateData()"); if (!eitService) { initService(); } for (i = 0; i < events.infoSequence.length; i++) { privData = eitCache.getPrivateData(eitService, events.infoSequence[i].eventId); printLog("Private Data:"); printLog(" data length=" + privData.length + " content="); var str = ""; for (i = 0; i < privData.length; i++) { str += privData[i] + " "; } } printLog(str); } function getExtendedEventInfo() { printLog("getExtendedEventInfo()..."); if (events == null) { getEvents(); } var i; for (i = 0; i < events.infoSequence.length; i++) { var extEvents = eitCache.getExtendedEventInfo(eitService, events.infoSequence[i].eventId); printLog(" ExtEvent " + ": eventId=" + extEvents.eventId); printLog(" ExtEvent " + ": short_info=" + extEvents.shortInfo); printLog(" ExtEvent " + ": ext_info=" + extEvents.extendedInfo); } } function getEventItemInfo() { printLog("getEventItemInfo()..."); if (events == null) { getEvents(); } var i; for (i = 0; i < events.infoSequence.length; i++) { printLog("event " + i + ": eventID=" + events.infoSequence[i].eventId); var eventItems = eitCache.getEventItemInfo(eitService, events.infoSequence[i].eventId); printLog(eventItems.length + " event items got"); var j; for (j = 0; j < eventItems.length; j++) { printLog(" EventItem " + j + " description=" + eventItems[j].description + " value=" + eventItems[j].value); } } } function getVideoComponentList() { printLog("getVideoComponentList()... "); if (events == null) { getEvents(); } var i; for (i = 0; i < events.infoSequence.length; i++) { printLog("event " + i + ": eventID=" + events.infoSequence[i].eventId); var components = eitCache.getVideoComponentList(eitService, events.infoSequence[i].eventId); printLog(components.length + " video components got"); var j; for (j = 0; j < components.length; j++) { printLog(" Video Component " + j + ":" + " stream content=" + components[j].streamContent + " type=" + components[j].componentType + " tag=" + components[j].tag + " description=" + components[j].description); } } } function getAudioComponentList() { printLog("getAudioComponentList()... Language: " + languageText); var langcode = languageCode; if (events == null) { getEvents(); } var i; for (i = 0; i < events.infoSequence.length; i++) { printLog("event " + i + ": eventID=" + events.infoSequence[i].eventId); var components = eitCache.getAudioComponentList(eitService, events.infoSequence[i].eventId, langcode); printLog(components.length + " audio components got"); var j; for (j = 0; j < components.length; j++) { printLog(" Audio Component " + j + ":" + " stream content=" + components[j].streamContent + " type=" + components[j].componentType + " tag=" + components[j].tag + " languageCode=" + components[j].languageCode + " description=" + components[j].description); } } } function getSubtitleComponentList() { printLog("getSubtitleComponentList()... Language: " + languageText); var langcode = languageCode; if (events == null) { getEvents(); } var i; for (i = 0; i < events.infoSequence.length; i++) { printLog("event " + i + ": eventID=" + events.infoSequence[i].eventId); var components = eitCache.getSubtitleComponentList(eitService, events.infoSequence[i].eventId, langcode); printLog(components.length + " subtitle components got"); var j; for (j = 0; j < components.length; j++) { printLog(" Subtitle Component " + j + ":" + " stream content=" + components[j].streamContent + " type=" + components[j].componentType + " tag=" + components[j].tag + " languageCode=" + components[j].languageCode + " description=" + components[j].description); } } }