This section describes the integration of the Java TV high level SI package into the Low Level SI database. In typical DTV systems a specific set of APIs is defined to encapsulate the low-level SI database, which is used in the specific standard. These define classes and interfaces to represent elements of the SI tables as available in the network. The Java TV SI APIs describe an abstract model to handle service information. If this API is used with a concrete SI database, a mapping of the classes and methods to the concrete fields of the SI database needs to be defined, which ensures that both SI access APIs work together.
The following section defines the integration of protocol independent SI APIs and the Low Level SI API. Whereas the protocol-independent SI API as defined in JavaTV offers access to high level service information, the transport dependent APIs are used to get additional, protocol dependent information on the elements on the network. To achieve a close coupling between these two APIs, it is required that objects representing SI information entities, which are available in both API sets, are implementing the corresponding interfaces of both API sets.
The interfaces of both APIs shall be implemented according to the following table:
JavaTV SI interface | protocol-dependent interface |
javax.tv.service.transport.Network | SINetwork |
javax.tv.service.transport.Bouquet | SIBouquet |
javax.tv.service.transport.TransportStream | SITransportStreamNIT |
javax.tv.service.guide.ProgramEvent | SIEvent |
javax.tv.service.navigation.ServiceDetails | SIService |
The following sections define the mapping between the Java TV SI APIs and the corresponding SI database tables in the network.
For all getter-methods, which return a name or descriptor corresponding to a multilingual name field of the underlying SI table,
the following rule applies:
If the language of a multilingual name descriptor field in the SI table corresponds to the language
returned by javax.tv.service.SIManager.getPreferredLanguage
, the name from the descriptor field is returned.
In any other case the returned name is an implementation dependent choice of the available values in the descriptors.
Bouquet
must also implement the CAIdentification
interface.getLocator
method is an implementation dependent javax.tv.locator.Locator
object,
where no standardized external form is required.
getLocator
method is an implementation dependent javax.tv.locator.Locator
object,
where no standardized external form is required.
Transport
interface must also implement the BouquetCollection
and NetworkCollection
interfaces.
getDescription
method.
CAIdentification
interface.
The return values for getStartTime
, getDuration
and getEndTime
are taken or calculated from the
corresponding time values of the event entry in the body of the EIT table or its equivalent SI table.
The method ProgramEventDescription#getProgramEventDescription() should return a textual description for a given event whenever it is available.
Characters codes 0x8a and 0xe08a are replaced by a Java newline (\n).
Service
interface may also implement the ServiceNumber
interface.
Service_type | Description | Java TV service type | |
0x00 | Reserved for future use | UNKNOWN | |
0x01 | Digital television service | DIGITAL_TV | |
0x02 | Digital audio service | DIGITAL_RADIO | |
0x03 | Teletext service | DATA_BROADCAST | |
0x04 | NVOD reference service | NVOD_REFERENCE | |
0x05 | NVOD time-shifted service | NVOD_TIME_SHIFTED | |
0x06 | Mosaic service | DIGITAL_TV | |
0x07 – 0x09 | Reserved for future use | UNKNOWN | |
0x0A | Advanced coding for digital radio service | DIGITAL_RADIO | |
0x0B | Advanced coding for mosaic service | DIGITAL_TV | |
0x0C | Data broadcasting service | DATA_BROADCAST | |
0x0D | Reserved for common interface (see EN 50221) | UNKNOWN | |
0x0E | RCS Map (see EN 301 790) | UNKNOWN | |
0x0F | RCS FLS (see EN 301 790) | UNKNOWN | |
0x10 | DVB MHP | DATA_APPLICATION | |
0x11 | Digital MPEG2 HD television service | DIGITAL_TV | |
0x12 – 0x15 | Reserved for future use | UNKNOWN | |
0x16 | Advanced coding for digital SD television service | DIGITAL_TV | |
0x17 | Advanced coding for digital NVOD SD time-shifted television service | NVOD_TIME_SHIFTED | |
0x18 | Advanced coding for digital NVOD SD reference television service | NVOD_REFERENCE | |
0x19 | Advanced coding for digital NVOD HD television service | NVOD_TIME_SHIFTED | |
0x1A | Advanced coding for digital NVOD HD time-shifted television service | NVOD_TIME_SHIFTED | |
0x1B | Advanced coding for digital NVOD HD reference television service | NVOD_REFERENCE | |
0x1C – 0x7F | Reserved for future use | UNKNOWN | |
0x80 – 0xA0 | Defined by the service provider | ||
0xA1 | Special video service | DIGITAL_TV | |
0xA2 | Special audio service | DIGITAL_RADIO | |
0xA3 | Special data service | DATA_BROADCAST | |
0xA4 | Engineering service | UNKNOWN | |
0xA5 | Promotional video service | DIGITAL_TV | |
0xA6 | Promotional audio service | DIGITAL_RADIO | |
0xA7 | Promotional data service | DATA_BROADCAST | |
0xA8 | Data service for anticipated storage | DATA_BROADCAST | |
0xA9 | Exclusive data service for storage | DATA_BROADCAST | |
0xAA | Bookmark service list | DATA_BROADCAST | |
0xAB | Simultaneous server type service | UNKNOWN | |
0xAC | Independent file service | DATA_BROADCAST | |
0xAD – 0xBF | Not defined (range defined by the standardization organization) | UNKNOWN | |
0xC0 | Data service | DATA_BROADCAST | |
0xC1 – 0xFF | Not defined | UNKNOWN |
ServiceDetails
must also implement the CAIdentification
interface and shall not implement the ServiceNumber
interface.retrieveServiceDescription
shall fail with SIRequestFailureType(DATA_UNAVAILABLE).
ServiceComponent
interface is mapped to the EIT and represents information contained in the Component descriptors, Multilingual
component descriptors or Data broadcast descriptors.
ServiceDetails, ServiceComponent, ProgramEvent, Network, Bouquet
and TransportStream
interfaces.
getSupportedDimensions
and getRatingDimension
depend on the
parental rating system of the specific SI schema.
Clarifications:
retrieveSIElement
shall return an object implementing the ServiceDetails
interface, when called with a
locator that points to a service. Locators for program events fail with SIRequestFailureType(INSUFFICIENT_RESOURCES)
.
getTransports
method shall implement the javax.tv.service.transport.Transport
interface.
javax.tv.service.navigation.SIElementFilter
.
retrieveProgramEvent
shall fail with a SIRequestFailureType(INSUFFICIENT_RESOURCES)
.
SIElementFilter
must be supported for the TransportStream
and Network
objects. If it is not available for other SIElement
objects,
the constructor may throw a FilterNotSupportedException
. On systems, where no conditional access is used,
the method getCASystemIDs
should return an empty array and the method isFree() should return always TRUE.
ServiceDetails, ProgramEvent
or Bouquet
interface.
ServiceDetails
interface.
ContentRatingAdvisory
depends on the parental rating scheme of the concrete SI database.
stream_content
and component_type
is defined in the following table.
If a component does not have an associated Component descriptor,
but a Data broadcast descriptor, the stream type DATA
shall be used.
Stream_content | component_type | JavaTV Stream type | |
0x01 | 0x00…0xff | VIDEO | |
0x02 | 0x00…0xff | AUDIO | |
0x05 | 0x00…0xff | VIDEO | |
0x06 | 0x00…0xff | AUDIO |