All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ocap.hardware.VideoOutputPort Maven / Gradle / Ivy

package org.ocap.hardware;

/**
 * An object of this class represents an analog or digital video output of
 * the OCAP terminal. If the type is the analog video output, it is mapped
 * to a physical pin plug of the video output. If the type is the digital serial
 * output, it is mapped to a physical pin plug of the video output. If the type
 * is the digital bus output, it is mapped to a bus node that has several output
 * ports. For example, if the type is the 1394 bus, the VideoOutputPort instance
 * represents not the 1394 port (physical pin plug) but the 1394 node that has
 * several 1394 ports.
 * 

* An application cannot construct an instance of this class directly. * Instead, the Host.getVideoOutputPorts() method is used to obtain a * java.util.Enumeration of references to VideoOutputPort instances. * The Enumeration.nextElement() method can be used to obtain references to * individual VideoOutputPort instances. *

* The video port is a scarce resource, but the resource management framework is * not applied. At most only one 1394 connection is available for a single OCAP * implementation. If some applications call VideoOutputPort.select1394sink(), * only the last call is effective. The other calls are ignored or disconnected * without any notification. */ public abstract class VideoOutputPort { /** * OCAP applications SHALL NOT use this constructor - it is provided * for internal use by the OCAP implementation. The result * of calling this method from an application is undefined, and * valid implementations MAY throw any Error or RuntimeException. */ protected VideoOutputPort () {}; /** * AV Output Port Type RF channel 3/4 **/ public final static int AV_OUTPUT_PORT_TYPE_RF = 0; /** * AV Output Port Type Baseband (RCA connector) **/ public final static int AV_OUTPUT_PORT_TYPE_BB = 1; /** * AV Output Port Type S-Video **/ public final static int AV_OUTPUT_PORT_TYPE_SVIDEO = 2; /** * AV Output Port Type 1394 (Firewire) **/ public final static int AV_OUTPUT_PORT_TYPE_1394 = 3; /** * AV Output Port Type DVI (Panel Link, HDCP) **/ public final static int AV_OUTPUT_PORT_TYPE_DVI = 4; /** * AV Output Port Type Component Video **/ public final static int AV_OUTPUT_PORT_TYPE_COMPONENT_VIDEO = 5; /** * AV Output Port Type HDMI */ public final static int AV_OUTPUT_PORT_TYPE_HDMI = 6; /** * AV Output Port Type Internal (integrated/internal display) */ public final static int AV_OUTPUT_PORT_TYPE_INTERNAL = 7; /** * AV Output Port Capability Type DTCP **/ public final static int CAPABILITY_TYPE_DTCP = 0; /** * AV Output Port Capability Type HDCP **/ public final static int CAPABILITY_TYPE_HDCP = 1; /** * AV Output Port Capability Type Resolution Restriction for HD Video **/ public final static int CAPABILITY_TYPE_RESOLUTION_RESTRICTION = 2; /** * Enable the video output port, that is, allow the video output from this port. * A stream connection is established and an AV stream is output. The status() * method is used to confirm the result of this method call. * * @throws SecurityException if the caller has not been granted * MonitorAppPermission("setVideoPort") * * @throws java.lang.IllegalStateException if the host couldn?t enable * the port in cases where the Host is unable to start a signal from * the port, e.g. in the case where another 1394 port has a connection * that prevents a new connection. **/ public abstract void enable (); /** * Disable the video output port, that is, prevent the video output from this * port. The stream connection is disconnected. If the port does not support * a disabling function, this method affects nothing. The status() method * is used to confirm the result of this method call. * * Note that the specific port types that support disabling are specified * elsewhere, for example, by the Host Device License Agreement [HDLA]. * Note that FCC may provide rules for port disabling. * * @throws SecurityException if the caller has not been granted * MonitorAppPermission("setVideoPort") * * @throws java.lang.IllegalStateException if this method is called for a * VideoOutputPort which does not support disabling, or the host couldn?t * disable the port in cases where the Host is unable to terminate a * signal from the port, e.g. in the case where a 1394 port has overlayed * connections. * **/ public abstract void disable (); /** * This method returns a current status of this video output port. * * @return enable/disable status of video output port. If true output port is * enabled, otherwise it is disabled. * **/ public abstract boolean status (); /** *Query the value related to specified capabilityType. * *@param capabilityType The capability type to query the value * CAPABILITY_TYPE_xxx * *@return The value related to the specified capabilityType will return as follows: * *
    *
  • CAPABILITY_TYPE_DTCP-java.lang.Boolean which indicates DTCP * is available (TRUE). *
  • CAPABILITY_TYPE_HDCP-java.lang.Boolean which indicates HDCP * is available (TRUE). *
  • CAPABILITY_TYPE_RESOLUTION_RESTRICTION-java.lang.Integer which * indicates the restricted pixel resolution for HD video on the analog component video port * Returns (-1) for any VideoOutputPort type other than * AV_OUTPUT_PORT_TYPE_COMPONENT_VIDEO. For VideoOutputPort type * AV_OUTPUT_PORT_TYPE_COMPONENT_VIDEO, returns the integer product of the * horizontal resolution and the vertical resolution (h x v) used in the * display of a "Constrained Image" which shall be no more than 520,000. *
**/ public abstract java.lang.Object queryCapability (int capabilityType); /** * Get the list of IEEE1394Node corresponding to all the 1394 nodes that were * discovered by the OpenCable Host device. The 1394 node which does not * have EUI-64 is ignored. * * @return An array of IEEE1394Node. The first IEEE1394Node in the array represents * the 1394 node of the OCAP implementation itself. * * @throws java.lang.IllegalStateException if this method is called for the * VideoOutputPort which does not represent AV_OUTPUT_PORT_TYPE_1394. * * @throws SecurityException if the caller has not been granted * MonitorAppPermission("setVideoPort") **/ public abstract IEEE1394Node[] getIEEE1394Node (); /** * * Select an IEEE1394 sink node which will establish a stream connection to the node * of the OCAP implementation and give a parameter to establish a point to point * AV connection. This method neither establishes a connection nor outputs a stream. * An application must call VideoOutputPort.enable() to establish a connection and * output a stream. The stream connection parameters which are not specified by this * method are assigned by the OCAP implementation automatically. For example, oPCR * is selected by the OCAP implementation. A source of an AV stream is a tuner of * the OCAP implementation. * * @param eui64 an unsigned big endian 64-bits value of EUI-64 of a sink node. * @param subunitType type value of a sink AV subunit to be connected. * * @throws java.lang.IllegalArgumentException if eui64 is not valid. * * @throws java.lang.IllegalStateException if this method is called for the * VideoOutputPort which does not represent AV_OUTPUT_PORT_TYPE_1394. * * @throws SecurityException if the caller has not been granted * MonitorAppPermission("setVideoPort") * */ public abstract void selectIEEE1394Sink(byte[] eui64, short subunitType); /** * Get the type of this VideoOutputPort. * * @return The integer representation of the VideoOutputPort type. * That is, one of the AV_OUTPUT_PORT_TYPE constants. */ public abstract int getType(); /** * *Query the number of horizontal pixels and vertical lines for the Output Type. * *@return The Dimension object representing the number of horizontal pixels (width) and * vertical lines (height) the Output Type is currently displaying. * */ public abstract java.awt.Dimension getResolution(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy