Java DTV API 1.3
18-Nov-2009

Java DTV API 1.3

This document describes the API and semantics of the Java DTV platform.

See:
          Description

Java DTV APIs
com.sun.dtv.application Application Management and Lifecycle Control.
com.sun.dtv.broadcast Access to broadcast files and streams.
com.sun.dtv.broadcast.event Access to broadcast events.
com.sun.dtv.filtering Provides support for MPEG section filtering.
com.sun.dtv.io Extends the java.io package by providing access rights and properties to files.
com.sun.dtv.locator This packages defines locators for use throughout the system.
com.sun.dtv.media Package for media relevant basic functionality and Freeze Resume controls.
com.sun.dtv.media.audio Packages for Audio Language Control.
com.sun.dtv.media.control Additional Controls to retrieve informations about the presented media.
com.sun.dtv.media.dripfeed Control to provide still picture data to a JMF Player, the data are under the control of the Application.
com.sun.dtv.media.format Control for the Video Format.
com.sun.dtv.media.language Provides the basic functionality to query and set the language for Audio,Subtitle and Close Captioning.
com.sun.dtv.media.text Subtitle and Close Captioning Control.
com.sun.dtv.media.timeline Media Time Line Control.
com.sun.dtv.net Extends the java.net package with extensive communication device control.
com.sun.dtv.platform Provides classes that are specific to the DTV platform, in particular classes that are specific to the consumer.
com.sun.dtv.resources Provides a basic framework for scarce resources.
com.sun.dtv.security Package for the additional security functionality.
com.sun.dtv.service This package provides an interface for accessing the Low Level SI database.
com.sun.dtv.smartcard Package that provides additional smartcard functionality.
com.sun.dtv.test Provides an extensive test harness support.
com.sun.dtv.transport Provides access to entities contained in a transport stream.
com.sun.dtv.tuner Provides APIs for access to and control of a broadcast network interface (or "tuner") used for the reception of transport streams.

 

User Interface APIs
com.sun.dtv.lwuit Main widget package containing the component/container "composite" similar both in terminology and design to Swing/AWT.
com.sun.dtv.lwuit.animations All components are animatable by potential and additional animations (unrelated to a specific component) can be installed on the fly, transitions between forms are also handled as part of this package.
com.sun.dtv.lwuit.events Observable pattern event listeners in the spirit of AWT 1.1's event dispatching architecture, all events are dispatched on the EDT (Event Dispatch Thread).
com.sun.dtv.lwuit.geom Contains classes related to geometry locations and calculations such as rectangle and size.
com.sun.dtv.lwuit.layouts Layout managers allow a Container to arrange its components by a set of rules that would be adapted for specific screen/font sizes.
com.sun.dtv.lwuit.list Lists are highly customizable and serve as the basis for ComboBox and other components (such as carousels etc) they employ a similar MVC approach to Swing including the renderer pattern.
com.sun.dtv.lwuit.painter Painter allows us to draw arbitrary elements of graphics from plain/scaled/tiled images to gradients and pretty much any form of graphic drawing we can imagine.
com.sun.dtv.lwuit.plaf Look of the application can be fully customized via this package, it represents a rendering layer that can be plugged in separately in runtime and themed to provide any custom look.
com.sun.dtv.lwuit.util Utility features that are either too domain specific or don't "fit" into any other packages.
com.sun.dtv.ui TV specific UI functionality.
com.sun.dtv.ui.event TV specific UI functionality event subpackage.

 

This document describes the API and semantics of the Java DTV platform.

Java Digital TV Specification

Copyright © 2008-2009 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved.

U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. Sun, Sun Microsystems, the Sun logo and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.Products covered by and information contained in this service manual are controlled by U.S. Export Control laws and may be subject to the export or import laws in other countries. Nuclear, missile, chemical biological weapons or nuclear maritime end uses or end users, whether direct or indirect, are strictly prohibited. Export or reexport to countries subject to U.S. embargo or to entities identified on U.S. export exclusion lists, including, but not limited to, the denied persons and specially designated nationals lists is strictly prohibited.

DOCUMENTATION IS PROVIDED AS IS AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.

License

All rights reserved to Sun Microsystems, Inc. Use is subject to license terms.

Conventions

This document uses definitions specified in [RFC-2119]

mustThis word, or the terms required or shall, mean that the definition is an absolute requirement of the specification.
must notThis phrase, or the phrase shall not, mean that the definition is an absolute prohibition of the specification.
shouldThis word, or the adjective recommended, mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.
should notThis phrase, or the phrase not recommended mean that there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.
mayThis word, or the adjective optional, mean that an item is truly optional. One vendor may choose to include the item because a particular marketplace requires it or because the vendor feels that it enhances the product while another vendor may omit the same item. An implementation which does not include a particular option must be prepared to interoperate with another implementation which does include the option, though perhaps with reduced functionality. In the same vein an implementation which does include a particular option must be prepared to interoperate with another implementation which does not include the option (except, of course, for the feature the option provides).

Context

The following diagram depicts the context in which the Java DTV specification is placed:

Missing image of Java DTV Architecture; this image should look like the Ginga Middleware Specification Architecture

SBTV Normative References

Informative References

Common Requirements

Every Java DTV runtime must support the following requirements.

Supported Content Types

The Content Types that MUST be supported are defined in ABNT NBR 15606-1 "Digital terrestrial television - Data coding and transmission specification for digital broadcasting Part 1: Data coding specification".

Content and Application Packaging, Authentication, and Authorization

The Java DTV Content and Application model is specified to define the packaging of content and applications, to enable authentication of each, and to authorize applications to access functions and APIs that are otherwise restricted. This packaging mechanism can also be used for non-Java applications.

Certificate Management

The Certificate Management is specified to define the Certificate Profile and Certificate Revocation List for this specification.

Java TV SI and low level SI Integration

The Java TV SI and low level SI Integration section describes the integration of the Java TV service information API and the low level SI API

Persistent File Storage

The Persistent Storage is made available to authorized applications.

Return channel security

The Return Channel Security specifies the security TLS version, the mandatory cipher suites and the API to provide TLS/SSL support.

Media Player

Service selection of conflicting service components, e.g. simultaneous selection of more than one subtitle or different audio languages, shall be resolved by assuming that the last specified service components shall be selected.

If an application exceeds the system resources (e.g. request multiple streams) the assumption is made, that the last valid selection is reflecting the intention of the application.

If an application is temporary losing resources, e.g. the media decoder is used by a different application, the previous state is not restored, when the resource is available again.

Namespaces

The namespace com.sun.dtv and is protected. A compliant implementation of this specification may not subset the API defined in this specification. Additional classes and interfaces may only be added outside these packages.

Architecture Overview

The Java DTV Specification consists of Java DTV APIs and Java TV APIs, added to the base set of common Java Runtime components including the Connected Device Configuration, Foundation Profile, and Personal Basis Profile.

The Java DTV APIs are illustrated below:

Missing image of Java DTV APIs

The following picture shows the Java package structure of the Java DTV API:

Missing image of Java DTV APIs

Runtime Components

The Java DTV Java Runtime Components are:

Clarifications to Specifications

Java Virtual Machine

Connected Device Configuration

Times and Timezones

java.lang.System

java.lang.Runtime

java.lang.SecurityManager

Character encoding

Networking

File I/O for broadcast files

Foundation Profile 1.1

Personal Basis Profile 1.1

Java TV APIs

This specification describes the Java TVTM API, a Java Micro Edition (Java ME) Optional Package that provides control over functionality unique to television receivers. Some of the features that the Java TV API provides are: access to the service information database, content selection, TV-specific media player control, and access to data that is broadcast with the television signal.

The clarifications are:

Security and Trust Services API (SATSA) for Java ME, Version 1.0.1

History

18-Nov-2009 1.3 - Maintenance Release
17-Jul-2009 1.2.1 - Maintenance Release
01-Jul-2009 1.2 - Maintenance Release
28-Feb-2009 1.1 - Maintenance Release
12-Dec-2008 1.0 - Final Release


Java DTV API 1.3
18-Nov-2009

Copyright © 2008-2009 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved.

U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. Sun, Sun Microsystems, the Sun logo and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.Products covered by and information contained in this service manual are controlled by U.S. Export Control laws and may be subject to the export or import laws in other countries. Nuclear, missile, chemical biological weapons or nuclear maritime end uses or end users, whether direct or indirect, are strictly prohibited. Export or reexport to countries subject to U.S. embargo or to entities identified on U.S. export exclusion lists, including, but not limited to, the denied persons and specially designated nationals lists is strictly prohibited.

DOCUMENTATION IS PROVIDED AS IS AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.

Use of this document is subject to license terms.