The UMSVideoIn object is an Ultimedia Services Version 2 feature and does not apply to Ultimedia Services Version 1.2.1.
The UMSVideoIn object is a base class and is not meant to be instantiated. This class provides an interface for a VideoIn and Monitor object. The device specific objects for VideoIn and monitor would be instantiated by a VideoIn metaclass. The VideoIn class would enable the capture of either compressed or uncompressed digital video, which would be suitable for a UMSCapture object or for an application such as video conferencing. A VideoIn object would also allow the monitoring of the captured video in a window. This could be all frames or only the captured frames. A VideoIn object is always a monitor, but the object could also be instantiated as a monitor in case monitoring is the only desired function. In the case where the hardware does not support monitoring, the monitoring would have to be accomplished outside of the VideoIn object.
This class inherits from the UMSNegotiatorSource and the UMSVideoMonitor class.
To learn more about the UMSVideoIn object, see:
For introductory information, see Video, Monitor, and Camera Control Support Objects.
To avoid name collision on defines, integer values have been captured as enumerated lists. The set of valid values from an enumerated list can vary with the application. The method descriptions detail valid or possible values for the specific use. The enumerated lists that are defined for this object are listed below:
enum ReturnCode { Success, method completes successfully Failure, method failed NotOpen, Device not open NotSupported, method not implemented in chosen subclass SettingsChanged, given setting changed. Check out param. InvalidArgument, Passed an invalid argument to method. NullPointer, An out parameter is NULL. DeviceNotFound, Could not find given device DeviceNotAvail, No ports available for video DeviceNotOpen, Device not open. InvalidSubimageSize, Tried to set an illegal subimage. InvalidImageSize, Tried to set an illegal image size MonitorNotActive Tried to change a monitor setting when monitor not turned on. };
If the video device driver for the hardware supports it, this call allows the management of the video buffer. This would be to control latency for different types of applications. A video conference would need low latency and would allow for missed frames and the most recent frame. A capture application would not care about latency, but would need all of the frames, not just the most recent.
This method returns the buffer size of the device buffer, if there is one. If the size was not set, this returns whatever the default for the hardware is.
out long frames | Size of the frame queue. |
This method returns the number of frames that have been buffered. A positive, nonzero value is returned if the queue size is greater than zero and the input call has been issued.
out long frames | Number of frames in buffer. |
This method discards all of the frames in the buffering queue.
This method starts or stops the video capture. If there is a queue size defined, this call causes the queue to start to fill.
in UMSVideoMonitor::OnOff flag | Indicates whether to turn the input on or off |
This method returns one frame to the client. A time stamp for the frame is also returned along with the number of missed frames, if any.
out sequence<octet>buffer | Pointer to the buffer that holds one frame of data. |
out unsigned long time_stamp | Time stamp of frame |
out long missed_frames | Number of missed frames, if any. |
Set the time format to milliseconds, frames, or fields.
in UMSVideoTypes::TimeFormat format | Enumerated type for time format |
out UMSVideoTypes::TimeFormat format | Enumerated type for time format |
Set the frequency at which frames are placed in the queue, or at which frames are available if queue size is 0.
in float rate | Input frequency. Can have a fraction. |
out float rate_returned | The rate that device really uses if given rate unsupported. |
Get the current input frequency or default.
out float rate | The returned rate. |
Only monitor frames that are captured to memory. The default behavior is to monitor every frame.
in UMSVideoMonitor::OnOff flag | Enumerated type to set the behavior. |
Set the dimensions of the captured image size. If the size set is greater than the hardware image size, hardware scaling (or zoom) is attempted.
Get the current image size if set, or return the default for a particular hardware type.
out long width | Current image width |
out long height | Current image height |
For introductory information, see Video, Monitor, and Camera Control Support Objects.