The freeze command freezes video input or video output on a VCR or disables video acquisition to the frame buffer. Digital-video, video-overlay, and VCR devices recognize this command.
To send this command, call the mciSendString function with the lpszCommand parameter set as follows.
_stprintf_s( lpszCommand, TEXT("freeze %s %s %s"), lpszDeviceID, lpszFreezeFlags, lpszFlags );
Identifier of an MCI device. This identifier or alias is assigned when the device is opened.
Flag that identifies what to freeze. The following table lists device types that recognize the freeze command and the flags used by each type.
The following table lists the flags that can be specified in the lpszFreezeFlags parameter and their meanings.
|at rectangle||Specifies the region that will be frozen. For video-overlay devices, this region will have video acquisition disabled. For digital-video devices, the pixels within the rectangle will have their lock mask bit turned on (unless the "outside" flag is specified). The rectangle is relative to the video buffer origin and is specified as X1 Y1 X2 Y2. The coordinates X1 Y1 specify the upper left corner of the rectangle, and the coordinates X2 Y2 specify the width and height.|
|field||Freezes the first field. Field is assumed by default (if neither frame nor field is specified).|
|frame||Freezes the entire frame, displaying both fields.|
|input||Freezes the current frame of the input image, whether it is paused or running.|
|output||Freezes the current frame of the output from the VCR. If the VCR is playing when freeze is issued, the current frame is frozen and the VCR is paused. If the VCR is paused when this command is issued, the current frame is frozen. The frozen image remains on the output device until an unfreeze command is issued. If neither "input" nor "output" is specified, "output" is assumed.|
|outside||Indicates that the area outside the region specified using the "at" flag is frozen.|
Can be "wait", "notify", or both. For digital-video and VCR devices, "test" can also be specified. For more information about these flags, see The Wait, Notify, and Test Flags.
Returns zero if successful or an error otherwise.
When used with VCR devices, this command is intended for frame-grabbing cards.
To specify irregular acquisition regions with the "at" flag, use a series of freeze and unfreeze commands. Some video-overlay devices limit the complexity of the acquisition region.
This command is supported only if a call to the capability command with the "can freeze" flag returns TRUE.
The following command disables video acquisition in a 100-pixel square at the upper left corner of the video buffer:
freeze vboard at 0 0 100 100
** Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
** Windows 95/98/Me:** Included in Windows 95 and later.