org.ocap.hardware.device
Interface VideoOutputSettings


public interface VideoOutputSettings

The VideoOutputSettings interface extends the functionality of the video outputs to support configuration of video output resolution. In Host devices supporting this specification, all instances of VideoOutputPort SHALL implement this interface.

An application MAY query the set of output configurations supported by a given video output port by calling getSupportedConfigurations(). The supported configurations MAY be used to configure the given video output port by calling setOutputConfiguration(org.ocap.hardware.device.VideoOutputConfiguration).

See Also:
VideoOutputPort

Method Summary
 void addListener(VideoOutputPortListener l)
          Add the given listener to monitor this video output port for status changes.
 AudioOutputPort getAudioOutputPort()
          Get the AudioOutputPort object which can be used to control the audio output port associated with this video output port.
 int getDisplayAspectRatio()
          Get the aspect ratio of the display connected to this video output port.
 Hashtable getDisplayAttributes()
          Get the set of attributes describing the display currently connected to this VideoOutputPort.
 VideoOutputConfiguration getOutputConfiguration()
          Get the current output configuration for this video output port.
 VideoOutputConfiguration[] getSupportedConfigurations()
          Get the fixed set of supported output configurations for this video output port.
 boolean isContentProtected()
          Get the protection status of content on this video output port.
 boolean isDisplayConnected()
          Get the connection status of this video output port.
 boolean isDynamicConfigurationSupported()
          Determine if this video output port supports dynamic output configuration based upon input video attributes.
 void removeListener(VideoOutputPortListener l)
          Remove the given listener from further notification of status changes for this video output port.
 void setOutputConfiguration(VideoOutputConfiguration config)
          Set the output configuration for this video output port.
 

Method Detail

getSupportedConfigurations

VideoOutputConfiguration[] getSupportedConfigurations()
Get the fixed set of supported output configurations for this video output port. This returns all supported output resolutions, regardless of input resolution, as an array of VideoOutputConfiguration instances.

The returned set of configurations SHALL be the intersection of those supported by the output port of the Host device and those supported by the connected display device, where such information is known by the Host.

Returns:
The set of all supported output resolutions as an array.

isDynamicConfigurationSupported

boolean isDynamicConfigurationSupported()
Determine if this video output port supports dynamic output configuration based upon input video attributes.

Returns:
true if instances of DynamicVideoOutputConfiguration may be set via setOutputConfiguration(org.ocap.hardware.device.VideoOutputConfiguration)

getOutputConfiguration

VideoOutputConfiguration getOutputConfiguration()
Get the current output configuration for this video output port. Changes to a returned configuration instance SHALL have no effect on the current configuration unless applied via invocation of setOutputResolutionConfig.

If the returned VideoOutputConfiguration corresponds to a configuration returned by getSupportedConfigurations(), that same configuration SHALL be returned.

Returns:
The current output configuration.
See Also:
setOutputConfiguration(org.ocap.hardware.device.VideoOutputConfiguration)

setOutputConfiguration

void setOutputConfiguration(VideoOutputConfiguration config)
                            throws FeatureNotSupportedException
Set the output configuration for this video output port. Only VideoOutputConfigurations instances corresponding to supported video configurations SHALL be accpeted; anything else results in an exception.

The output resolution configuration is applied at method invocation time. Changes to a configuration instance SHALL have no effect on the current configuration unless applied via invocation of this method specifying the given configuration.

Changing this setting on the "main" video output port for an HScreen MAY affect the configuration of the HScreenDevices of that HScreen to maintain consistent display aspect ratios as described in the body of this specification.

Parameters:
config - The new output configuration.
Throws:
IllegalArgumentException - if the output resolution specified does not correspond to one of the supported configurations
FeatureNotSupportedException - if the given configuration corresponds to one of the supported resolutions, but cannot be satisfied
SecurityException - if the caller does not have MonitorAppPermission("deviceController")
See Also:
getOutputConfiguration()

getAudioOutputPort

AudioOutputPort getAudioOutputPort()
Get the AudioOutputPort object which can be used to control the audio output port associated with this video output port.

Returns:
the AudioOutputPort for this video output port

addListener

void addListener(VideoOutputPortListener l)
Add the given listener to monitor this video output port for status changes.

Parameters:
l - the listener to add
See Also:
removeListener(VideoOutputPortListener)

removeListener

void removeListener(VideoOutputPortListener l)
Remove the given listener from further notification of status changes for this video output port.

Parameters:
l - the listener to remove
See Also:
addListener(VideoOutputPortListener)

getDisplayAttributes

Hashtable getDisplayAttributes()
Get the set of attributes describing the display currently connected to this VideoOutputPort. The display attributes information is returned in the form of a Hashtable, mapping attribute names (specified as Strings) to attribute values (specified as attribute-specific Objects).

For example, where EEDID (Enhanced Extended Display Identification Data) retrieval is supported, this information SHALL be accessible as attributes of the connected display. In case of EEDID, the following table describes the attribute mappings that SHALL be supported and used where appropriate.

Attribute name Attribute value
"Manufacturer Name" 3-character EISA manufacturer ID as a String
"Product Code" Vendor assigned product code as a Short
"Serial Number" Vendor assigned serial number as a Integer
"Manufacture Week" Week of manufacture as a Byte
"Manufacture Year" Year of manufacture (offset from 1990) as a Byte

Returns:
a Hashtable describing known display attributes; null is returned if isDisplayConnected() would return false

isDisplayConnected

boolean isDisplayConnected()
Get the connection status of this video output port.

If the Host device is incapable of determining connection status (e.g., for component video), then false SHALL be returned.

Returns:
true if a display is known to be connected; false otherwise

isContentProtected

boolean isContentProtected()
Get the protection status of content on this video output port.

This SHALL return true if both this port and the connected display support content protection and content is protected; false SHALL be returned otherwise.

Returns:
whether content is currently protected on this video output port

getDisplayAspectRatio

int getDisplayAspectRatio()
Get the aspect ratio of the display connected to this video output port.

Returns:
one of VideoFormatControl.DAR_4_3, VideoFormatControl.DAR_16_9, or -1 if unknown