Digital Video Extensions

DWORD lParam1

The following additional flags apply to digital-video devices supporting MCI_RECORD:

MCI_DGV_RECORD_HOLD

Specifies that when recording stops, there should be an automatic monitor file. If the user is monitoring the input, this provides immediate feedback that recording is complete.

MCI_DGV_RECT

Indicates that a rectangle is specified in the rc field of the data structure identified by lParam2. The rectangle specifies the region of the external input used as the source for the pixels compressed and saved. This rectangle defaults to the rectangle specified (or defaulted) by the MCI_DGV_PUT_VIDEO flag for the MCI_PUT command. When it is set differently than the video rectangle, what is displayed is not what is recorded.

MCI_DGV_RECORD_AUDIO_STREAM

Specifies an audio-stream number is included in the dwAudioStream field of the data structure identified by lParam2. If you omit this flag, audio data is recorded into the first physical stream.

MCI_DGV_RECORD_VIDEO_STREAM

Specifies a video-stream number is included in the dwVideoStream field of the data structure identified by lParam2. If you omit this flag, video data is recorded into the first physical stream.

LPMCI_DGV_RECORD_PARMS lParam2

Specifies a far pointer to the MCI_DGV_RECORD_PARMS data structure.

Return Value

Returns zero if successful. Otherwise, it returns an MCI error code.

Comments

This command is supported by devices that return TRUE to the MCI_GETDEVCAPS_CAN_RECORD query.

Digital-video devices compress and store audio and/or video data into the workspace, using a contiguous disk file allocated by a previous or implied MCI_RESERVE or MCI_CUE command with the MCI_CUE_INPUT flag. If one of these commands has not been executed, MCI_RECORD performs an implied reserve, using device-specific default parameters. The algorithm and quality level for the stored data is set with the MCI_SETAUDIO and MCI_SETVIDEO commands. There may be device-specific limitations on what other device driver instances might be doing during recording.

When data is recorded into an existing sequence, the contents of the original file are not changed until the changes are explicitly saved with MCI_SAVE. However, MCI_PLAY plays the data as if the newly recorded data were present. If there is a file in the workspace that has data following the explicit or implied starting position, and the device driver cannot guarantee it will preserve this data, it rejects the command by returning MCIERR_UNSUPPORTED_FUNCTION.

See Also

MCI_CUE, MCI_PAUSE, MCI_PLAY, MCI_RESUME, MCI_SEEK