VideoOutputSettings

Overview | Package | Class | Use | Tree | Deprecated | Index | Help

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 `VideoOutputConfiguration`s 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 `HScreenDevice`s 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 `String`s) to attribute values (specified as attribute-specific `Object`s).

  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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD