org.dvb.media
Interface DVBMediaSelectControl

All Superinterfaces:
javax.media.Control, javax.tv.media.MediaSelectControl

public interface DVBMediaSelectControl
extends javax.tv.media.MediaSelectControl

DVBMediaSelectControl extends MediaSelectControl allowing the selection of different kinds of content in a running Player. The extension is to allow the selection in a single operation of all the media service components in a service without needing knowledge about which media service components are present in that service.

Since:
MHP 1.0.2
See Also:
MediaSelectControl

Method Summary
 void add(javax.tv.locator.Locator component, javax.tv.service.navigation.StreamType type)
          Adds a service component (for example, subtitles) to the presentation over-riding the stream type signalled for the component.
 void select(javax.tv.locator.Locator[] components, javax.tv.service.navigation.StreamType[] types)
          Selects one or more service components for presentation over-riding the stream type signalled for the component.
 void select(javax.tv.locator.Locator component, javax.tv.service.navigation.StreamType type)
          Selects a new service component for presentation over-riding the stream type signalled for the component.
 void selectServiceMediaComponents(javax.tv.locator.Locator l)
          Selects for presentation the media service components from a service.
 
Methods inherited from interface javax.tv.media.MediaSelectControl
add, addMediaSelectListener, getCurrentSelection, remove, removeMediaSelectListener, replace, select, select
 
Methods inherited from interface javax.media.Control
getControlComponent
 

Method Detail

selectServiceMediaComponents

void selectServiceMediaComponents(javax.tv.locator.Locator l)
                                  throws javax.tv.locator.InvalidLocatorException,
                                         javax.tv.service.selection.InvalidServiceComponentException,
                                         javax.tv.service.selection.InsufficientResourcesException
Selects for presentation the media service components from a service. If some content is currently playing, it is replaced in its entirety by the media service components from the specified service. This is an asynchronous operation that is completed upon receipt of a MediaSelectEvent. Note that for most selections that imply a different time base or otherwise change synchronization relationships, a RestartingEvent will be posted by the Player. The rules for deciding which media service components shall be presented are defined in the main body of the present document.

Parameters:
l - the locator for a service
Throws:
javax.tv.locator.InvalidLocatorException - If the locator provided does not reference a service.
javax.tv.service.selection.InvalidServiceComponentException - If the locator provided does not reference a service which contains at least one media service component
javax.tv.service.selection.InsufficientResourcesException - If the operation cannot be completed due to a lack of system resources.

add

void add(javax.tv.locator.Locator component,
         javax.tv.service.navigation.StreamType type)
         throws javax.tv.locator.InvalidLocatorException,
                javax.tv.service.selection.InvalidServiceComponentException,
                javax.tv.service.selection.InsufficientResourcesException,
                java.lang.SecurityException
Adds a service component (for example, subtitles) to the presentation over-riding the stream type signalled for the component. This is an asynchronous operation that is completed on receipt of a MediaSelectEvent. Components whose addition would require Player resynchronization are not permitted. If the specified service component is already part of the presentation, this method does nothing.

Parameters:
component - The locator representing an individual service component to add to the presentation.
type - The stream type of the component
Throws:
javax.tv.locator.InvalidLocatorException - If the specified locator does not reference a selectable service component.
javax.tv.service.selection.InvalidServiceComponentException - If the addition of the service component would require resynchronization of the Player, if the service component is not part of the Service to which the MediaSelectControl is restricted, or if the service component must be presented in conjunction with another service component that is not part of the current presentation.
javax.tv.service.selection.InsufficientResourcesException - - If the operation cannot be completed due to a lack of system resources.
java.lang.SecurityException - - If the caller does not have MediaSelectPermission(component) permission.
Since:
MHP 1.1.2

select

void select(javax.tv.locator.Locator component,
            javax.tv.service.navigation.StreamType type)
            throws javax.tv.locator.InvalidLocatorException,
                   javax.tv.service.selection.InvalidServiceComponentException,
                   javax.tv.service.selection.InsufficientResourcesException,
                   java.lang.SecurityException
Selects a new service component for presentation over-riding the stream type signalled for the component. If some content is currently playing, it is replaced in its entirety by the specified selection. This is an asynchronous operation that is completed upon receipt of a MediaSelectEvent. Note that for certain selections that imply a different time base or otherwise change synchronization relationships, a RestartingEvent will be posted by the Player.

Parameters:
component - A locator representing an individual service component to present.
type - The stream type of the component
Throws:
javax.tv.locator.InvalidLocatorException - If the locator does not reference a selectable service component.
javax.tv.service.selection.InvalidServiceComponentException - If the specified service component is not part of the Service to which the MediaSelectControl is restricted, or if it cannot be presented alone.
javax.tv.service.selection.InsufficientResourcesException - If the operation cannot be completed due to a lack of system resources.
java.lang.SecurityException - If the caller does not have MediaSelectPermission(component) permission.
Since:
MHP 1.1.2

select

void select(javax.tv.locator.Locator[] components,
            javax.tv.service.navigation.StreamType[] types)
            throws javax.tv.locator.InvalidLocatorException,
                   javax.tv.service.selection.InvalidServiceComponentException,
                   javax.tv.service.selection.InsufficientResourcesException,
                   java.lang.SecurityException
Selects one or more service components for presentation over-riding the stream type signalled for the component. If some content is currently playing, it is replaced in its entirety by the specified selection. This is an asynchronous operation that is completed on receipt of a MediaSelectEvent. Note that for certain selections that imply a different time base or otherwise change synchronization relationships, a RestartingEvent will be posted by the Player. If any of the components are successfully presented then a MediaSelectSucceededEvent is generated with the locator array containing only those components that were successfully presented. A MediaSelectFailedEvent is only generated if none of the components are successfully presented.

Parameters:
components - An array of locators representing a set of individual service components to present together.
types - The stream type corresponding to each locator
Throws:
javax.tv.locator.InvalidLocatorException - If a locator provided does not reference a selectable service component.
javax.tv.service.selection.InvalidServiceComponentException - If a specified service component is not part of the Service to which the MediaSelectControl is restricted, if a specified service component must be presented in conjunction with another service component not contained in components, if the specified set of service components cannot be presented as a coherent whole, or if the service components are not all available simultaneously.
javax.tv.service.selection.InsufficientResourcesException - If the operation cannot be completed due to a lack of system resources.
java.lang.SecurityException - If the caller does not have MediaSelectPermission(components[i]) permission for any valid i.
java.lang.IllegalArgumentException - if the two arrays are not the same size.
Since:
MHP 1.1.2