• Quick Start
  • Booting
  • Platform
  • Portals
  • References
    • API Reference TOI3
    • IIP Reference
  • Resources
ARRIS Enterprises, Inc. Confidential Information

Simple EIT Cache Service page

This page shows how to use the 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 + "<br>Event more: " + events.more;

    var i = 0;
    for (i = 0; i < events.infoSequence.length; i++) {
      txt = txt +
            "<p>Event nr " + i +
            "<br>EventID= " + events.infoSequence[i].eventId +
            "<br>Name= " + events.infoSequence[i].name +
            "<br>Time= " + events.infoSequence[i].time +
            "<br>FreeCAmode= " + events.infoSequence[i].freeCaMode +
            "<br>Duration= " + events.infoSequence[i].duration +
            "<br>ContentNibbles= " + events.infoSequence[i].contentNibbles +
            "<br>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);
    }
  }
}

5.1.p5

Copyright (c) 2017 ARRIS Enterprises, LLC. All Rights Reserved. ARRIS Enterprises, LLC. Confidential Information.