org.ocap.hardware.device
Class DynamicVideoOutputConfiguration

java.lang.Object
  extended by org.ocap.hardware.device.DynamicVideoOutputConfiguration
All Implemented Interfaces:
VideoOutputConfiguration

public class DynamicVideoOutputConfiguration
extends Object
implements VideoOutputConfiguration

An instance of this class may be used to represent a dynamic selection of video output configurations based upon specified input video. An instance of DynamicVideoOutputConfiguration would mainly be used to allow for the HScreen resolution and the video output port resolution to closely match the resolution of the input video, generally with the intention of letting the display monitor connected to the output port manage aspect ratio conversions.

Such configurations are only valid for the current main video output port for a given HScreen. If a video output port is not the current main output port or ceases to be the main, then this configuration setting SHALL be effectively ignored and output resolution settings SHALL revert to an implementation-specific configuration.

Application of the input-to-output video resolution mapping described by an instance of DynamicVideoOutputConfiguration MAY result in configuration changes for the component HScreenDevices of the relevant HScreen as if the output resolution were selected via a static configuration.


Field Summary
static VideoResolution INPUT_HD
          Constant reprsenting any High Definition input video.
static VideoResolution INPUT_SD
          Constant representing any Standard Definition input video.
 
Constructor Summary
DynamicVideoOutputConfiguration()
          Construct a new instance of DynamicVideoOutputConfiguration.
 
Method Summary
 void addOutputResolution(VideoResolution inputResolution, FixedVideoOutputConfiguration outputResolution)
          Add a desired input video resolution to output video resolution mapping.
 Enumeration getInputResolutions()
          Get the set of input video resolutions for which a mapping to output configuration is specified.
 String getName()
          Returns "Dynamic".
 FixedVideoOutputConfiguration getOutputResolution(VideoResolution inputResolution)
          Get the output configuration that should be applied for the given input resolution if this configuration were successfully set on a video output port.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INPUT_SD

public static final VideoResolution INPUT_SD
Constant representing any Standard Definition input video.


INPUT_HD

public static final VideoResolution INPUT_HD
Constant reprsenting any High Definition input video.

Constructor Detail

DynamicVideoOutputConfiguration

public DynamicVideoOutputConfiguration()
Construct a new instance of DynamicVideoOutputConfiguration. The newly created DynamicVideoOutputConfiguration contains no mappings from input video to output video configuration.

Method Detail

getName

public String getName()
Returns "Dynamic".

Specified by:
getName in interface VideoOutputConfiguration
Returns:
"Dynamic"
See Also:
VideoOutputConfiguration.getName()

addOutputResolution

public void addOutputResolution(VideoResolution inputResolution,
                                FixedVideoOutputConfiguration outputResolution)
Add a desired input video resolution to output video resolution mapping. If this configuration is applied successfully, the video output port would use the given output resolution whenever the main video input resolution matched the given input resolution.

The desired video output resolution is specified as an instance of FixedVideoOutputConfiguration. Valid configurations are those returned by VideoOutputSettings.getSupportedConfigurations() for a given video output port instance. This class does not guard against addition of an invalid video resolution configuration. Instead, the instance of DynamicVideoOutputConfiguration would be rejected by the video output port.

For a given input resolution, wildcard values may be specified for some attributes. The following table documents accepted wildcard (or "don't care") values.

Attribute Wildcard value
VideoResolution.getPixelResolution() null
VideoResolution.getAspectRatio() VideoFormatControl.ASPECT_RATIO_UNKNOWN
VideoResolution.getRate() <= 0.0F
VideoResolution.getScanMode() VideoResolution.SCANMODE_UNKNOWN

Parameters:
inputResolution - The given input video resolution. May be an application-created instance of VideoResolution; or one of INPUT_SD or INPUT_HD may be specified to indicate a wildcard value covering all SD or HD resolutions.
outputResolution - The desired output configuration that video of the given input resolution should be mapped.
See Also:
getOutputResolution(org.ocap.hardware.device.VideoResolution)

getOutputResolution

public FixedVideoOutputConfiguration getOutputResolution(VideoResolution inputResolution)
Get the output configuration that should be applied for the given input resolution if this configuration were successfully set on a video output port.

Parameters:
inputResolution - The given input video resolution. May be an application-created instance of VideoResolution; or one of INPUT_SD or INPUT_HD may be specified to indicate a wildcard value covering all SD or HD resolutions.
Returns:
The output video configuration mapped to by the given input resolution or null if no mapping is defined.
See Also:
addOutputResolution(org.ocap.hardware.device.VideoResolution, org.ocap.hardware.device.FixedVideoOutputConfiguration)

getInputResolutions

public Enumeration getInputResolutions()
Get the set of input video resolutions for which a mapping to output configuration is specified.

Returns:
A non-null Enumeration of VideoResolution instances.