org.dvb.si
Interface PMTService

All Superinterfaces:
SIInformation

public interface PMTService
extends SIInformation

This interface represents a particular service carried by a transport stream. The information is retrieved from the PMT table.

Each object that implements the PMTService interface is identified by the combination of the following identifiers: original_network_id, transport_stream_id, service_id.


Field Summary
 
Fields inherited from interface org.dvb.si.SIInformation
FROM_CACHE_ONLY, FROM_CACHE_OR_STREAM, FROM_STREAM_ONLY
 
Method Summary
 DvbLocator getDvbLocator()
          Gets a DvbLocator that identifies this service
 int getOriginalNetworkID()
          Get the original network identification.
 int getPcrPid()
          Get the PCR pid.
 int getServiceID()
          Get the service identification.
 int getTransportStreamID()
          Get the transport stream identification.
 SIRequest retrievePMTElementaryStreams(short retrieveMode, java.lang.Object appData, SIRetrievalListener listener, short[] somePMTDescriptorTags)
          Retrieve information associated with the elementary streams which compose this service from the Program Map Table (PMT).
 
Methods inherited from interface org.dvb.si.SIInformation
fromActual, getDataSource, getDescriptorTags, getSIDatabase, getUpdateTime, retrieveDescriptors, retrieveDescriptors
 

Method Detail

getDvbLocator

public DvbLocator getDvbLocator()
Gets a DvbLocator that identifies this service

Returns:
The DvbLocator of this service

getOriginalNetworkID

public int getOriginalNetworkID()
Get the original network identification.

Returns:
The original network identification identifier.

getTransportStreamID

public int getTransportStreamID()
Get the transport stream identification.

Returns:
The transport stream identification identifier.

getServiceID

public int getServiceID()
Get the service identification.

Returns:
The service identification identifier.

getPcrPid

public int getPcrPid()
Get the PCR pid.

Returns:
The PCR pid.

retrievePMTElementaryStreams

public SIRequest retrievePMTElementaryStreams(short retrieveMode,
                                              java.lang.Object appData,
                                              SIRetrievalListener listener,
                                              short[] somePMTDescriptorTags)
                                       throws SIIllegalArgumentException
Retrieve information associated with the elementary streams which compose this service from the Program Map Table (PMT).

The SIIterator that is returned with the event when the request completes successfully will contain one or more objects that implement the PMTElementaryStream interface. If no matching object was found, the appropriate one of the following events is sent: SINotInCacheEvent SIObjectNotInTableEvent or SITableNotFoundEvent. This method will retrieve PMTElementaryStreams from the same sub-table version as this PMTService instance. If this version of the sub-table is no longer available, an SITableUpdatedEvent is returned.

Parameters:
retrieveMode - Mode of retrieval indicating whether the data should be retrieved only from the cache (FROM_CACHE_ONLY), from the cache if available and if not from the stream (FROM_CACHE_OR_STREAM), or always from the stream (FROM_STREAM_ONLY).
appData - An object supplied by the application. This object will be delivered to the listener when the request completes. The application can use this objects for internal communication purposes. If the application does not need any application data, the parameter can be null.
listener - SIRetrievalListener that will receive the event informing about the completion of the request.
somePMTDescriptorTags - A list of hints for descriptors (identified by their tags) the application is interested in. If the array contains -1 as its one and only element, the application is interested in all descriptors. If somePMTDescriptorTags is null, the application is not interested in descriptors. All non applicable tag values are ignored.
Returns:
An SIRequest object
Throws:
SIIllegalArgumentException - thrown if the retrieveMode is invalid
See Also:
SIRequest, SIRetrievalListener, PMTElementaryStream