CAPTUREPARMS (Structures)
Last changed: -67.139.154.199

.
Summary
The CAPTUREPARMS structure contains parameters that control the streaming video capture process. This structure is used to get and set parameters that affect the capture rate, the number of buffers to use while capturing, and how capture is terminated.

C# Definition:

    /// <summary>
    /// The CAPTUREPARMS structure contains parameters that control the streaming video capture process.
    /// This structure is used to get and set parameters that affect the capture rate, the number of
    /// buffers to use while capturing, and how capture is terminated.
    /// Type reference:  http://www.powerbasic.com/support/help/pbcc/comparative_data_types_c_c++.htm
    /// </summary>
    [StructLayout(LayoutKind.Sequential, Pack=1, CharSet=CharSet.Ansi)]
    public struct CAPTUREPARMS
    {
        /// <summary>
        /// Requested frame rate, in microseconds. The default value is 66667, which corresponds to
        /// 15 frames per second.
        /// </summary>
        public System.UInt32 dwRequestMicroSecPerFrame;

        /// <summary>
        /// User-initiated capture flag. If this member is TRUE, AVICap displays a dialog box prompting
        /// the user to initiate capture. The default value is FALSE.
        /// </summary>
        public System.Int32 fMakeUserHitOKToCapture;

        /// <summary>
        /// Maximum allowable percentage of dropped frames during capture. Values range from 0 to 100.
        /// The default value is 10.
        /// </summary>
        public System.UInt32 wPercentDropForError;

        /// <summary>
        /// Yield flag. If this member is TRUE, the capture window spawns a separate background thread
        /// to perform step and streaming capture. The default value is FALSE. Applications that set
        /// this flag must handle potential reentry issues because the controls in the application are
        /// not disabled while capture is in progress.
        /// </summary>
        public System.Int32 fYield;

        /// <summary>
        /// Maximum number of index entries in an AVI file. Values range from 1800 to 324,000. If set
        /// to 0, a default value of 34,952 (32K frames plus a proportional number of audio buffers)
        /// is used. Each video frame or buffer of waveform-audio data uses one index entry. The value
        /// of this entry establishes a limit for the number of frames or audio buffers that can be
        /// captured.
        /// </summary>
        public System.UInt32 dwIndexSize;

        /// <summary>
        /// Logical block size, in bytes, of an AVI file. The value 0 indicates the current sector
        /// size is used as the granularity.
        /// </summary>
        public System.UInt32 wChunkGranularity;

        /// <summary>
        /// Not used in Win32 applications.
        /// </summary>
        public System.Int32 fUsingDOSMemory;

        /// <summary>
        /// Maximum number of video buffers to allocate. The memory area to place the buffers is
        /// specified with fUsingDOSMemory. The actual number of buffers allocated might be lower
        /// if memory is unavailable.
        /// </summary>
        public System.UInt32 wNumVideoRequested;

        /// <summary>
        /// Capture audio flag. If this member is TRUE, audio is captured during streaming capture.
        /// This is the default value if audio hardware is installed.
        /// </summary>
        public System.Int32 fCaptureAudio;

        /// <summary>
        /// Maximum number of audio buffers to allocate. The maximum number of buffers is 10.
        /// </summary>
        public System.UInt32 wNumAudioRequested;

        /// <summary>
        /// Virtual keycode used to terminate streaming capture. The default value is VK_ESCAPE.
        /// You must call the RegisterHotKey function before specifying a keystroke that can abort
        /// a capture session. You can combine keycodes that include CTRL and SHIFT keystrokes by using
        /// the logical OR operator with the keycodes for CTRL (0x8000) and SHIFT (0x4000)
        /// </summary>
        public System.UInt32 vKeyAbort; // check this

        /// <summary>
        /// Abort flag for left mouse button. If this member is TRUE, streaming capture stops if the
        /// left mouse button is pressed. The default value is TRUE.
        /// </summary>
        public System.Int32 fAbortLeftMouse;

        /// <summary>
        /// Abort flag for right mouse button. If this member is TRUE, streaming capture stops if the
        /// right mouse button is pressed. The default value is TRUE.
        /// </summary>
        public System.Int32 fAbortRightMouse;

        /// <summary>
        /// Time limit enabled flag. If this member is TRUE, streaming capture stops after the number
        /// of seconds in wTimeLimit has elapsed. The default value is FALSE.
        /// </summary>
        public System.Int32 fLimitEnabled;

        /// <summary>
        /// Time limit for capture, in seconds. This parameter is used only if fLimitEnabled is TRUE.
        /// </summary>
        public System.UInt32 wTimeLimit;

        /// <summary>
        /// MCI device capture flag. If this member is TRUE, AVICap controls an MCI-compatible video
        /// source during streaming capture. MCI-compatible video sources include VCRs and laserdiscs.
        /// </summary>
        public System.Int32 fMCIControl;

        /// <summary>
        /// MCI device step capture flag. If this member is TRUE, step capture using an MCI device as
        /// a video source is enabled. If it is FALSE, real-time capture using an MCI device is enabled.
        /// (If fMCIControl is FALSE, this member is ignored.)
        /// </summary>
        public System.Int32 fStepMCIDevice;

        /// <summary>
        /// Starting position, in milliseconds, of the MCI device for the capture sequence. (If fMCIControl
        /// is FALSE, this member is ignored.)
        /// </summary>
        public System.UInt32 dwMCIStartTime;

        /// <summary>
        /// Stopping position, in milliseconds, of the MCI device for the capture sequence. When this position
        /// in the content is reached, capture ends and the MCI device stops. (If fMCIControl is FALSE, this
        /// member is ignored.)
        /// </summary>
        public System.UInt32 dwMCIStopTime;

        /// <summary>
        /// Double-resolution step capture flag. If this member is TRUE, the capture hardware captures at
        /// twice the specified resolution. (The resolution for the height and width is doubled.) Enable
        /// this option if the hardware does not support hardware-based decimation and you are capturing in
        /// the RGB format.
        /// </summary>
        public System.Int32 fStepCaptureAt2x;

        /// <summary>
        /// Number of times a frame is sampled when creating a frame based on the average sample. A typical
        /// value for the number of averages is 5.
        /// </summary>
        public System.UInt32 wStepCaptureAverageFrames;

        /// <summary>
        /// Audio buffer size. If the default value of zero is used, the size of each buffer will be the maximum
        /// of 0.5 seconds of audio or 10K bytes.
        /// </summary>
        public System.UInt32 dwAudioBufferSize;

        /// <summary>
        /// Not used in Win32 applications.
        /// </summary>
        public System.Int32 fDisableWriteCache;

        /// <summary>
        /// Indicates whether the audio stream controls the clock when writing an AVI file. If this member is
        /// set to AVSTREAMMASTER_AUDIO, the audio stream is considered the master stream and the video stream
        /// duration is forced to match the audio duration. If this member is set to AVSTREAMMASTER_NONE, the
        /// durations of audio and video streams can differ.
        /// </summary>
        public System.UInt32 AVStreamMaster;
    }

VB Signature:

Structure CAPTUREPARMS
        ''' <summary>
        ''' Requested frame rate, in microseconds. The default value is 66667, which corresponds to
        ''' 15 frames per second.
        ''' </summary>

        Public dwRequestMicroSecPerFrame As Integer
        ''' <summary>
        ''' User-initiated capture flag. If this member is TRUE, AVICap displays a dialog box prompting
        ''' the user to initiate capture. The default value is FALSE.
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fMakeUserHitOKToCapture As Boolean
        ''' <summary>
        ''' Maximum allowable percentage of dropped frames during capture. Values range from 0 to 100.
        ''' The default value is 10.
        ''' </summary>

        Public wPercentDropForError As Integer
        ''' <summary>
        ''' Yield flag. If this member is TRUE, the capture window spawns a separate background thread
        ''' to perform step and streaming capture. The default value is FALSE. Applications that set this
        ''' flag must handle potential reentry issues because the controls in the application are not
        ''' disabled while capture is in progress.
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fYield As Boolean
        ''' <summary>
        ''' Maximum number of index entries in an AVI file. Values range from 1800 to 324,000. If set to 0,
        ''' a default value of 34,952 (32K frames plus a proportional number of audio buffers) is used. Each
        ''' video frame or buffer of waveform-audio data uses one index entry. The value of this entry
        ''' establishes a limit for the number of frames or audio buffers that can be captured.
        ''' </summary>

        Public dwIndexSize As Integer
        ''' <summary>
        ''' Logical block size, in bytes, of an AVI file. The value 0 indicates the current sector size is
        ''' used as the granularity.
        ''' </summary>

        Public wChunkGranularity As Integer
        ''' <summary>
        ''' Not used in Win32 applications.
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fUsingDOSMemory As Boolean
        ''' <summary>
        ''' Maximum number of video buffers to allocate. The memory area to place the buffers is
        ''' specified with fUsingDOSMemory. The actual number of buffers allocated might be lower
        ''' if memory is unavailable.
        ''' </summary>

        Public wNumVideoRequested As Integer
        ''' <summary>
        ''' Capture audio flag. If this member is TRUE, audio is captured during streaming
        ''' capture. This is the default value if audio hardware is installed.
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fCaptureAudio As Boolean
        ''' <summary>
        ''' Maximum number of audio buffers to allocate. The maximum number of buffers is 10.
        ''' </summary>

        Public wNumAudioRequested As Integer
        ''' <summary>
        ''' Virtual keycode used to terminate streaming capture. The default value is VK_ESCAPE.
        ''' You must call the RegisterHotKey function before specifying a keystroke that can abort
        ''' a capture session. You can combine keycodes that include CTRL and SHIFT keystrokes
        ''' by using the logical OR operator with the keycodes for CTRL (0x8000) and SHIFT (0x4000).
        ''' </summary>

        Public vKeyAbort As Integer
        ''' <summary>
        ''' Abort flag for left mouse button. If this member is TRUE, streaming capture stops if
        ''' the left mouse button is pressed. The default value is TRUE.
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fAbortLeftMouse As Boolean
        ''' <summary>
        ''' Abort flag for right mouse button. If this member is TRUE, streaming capture stops if
        ''' the right mouse button is pressed. The default value is TRUE.
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fAbortRightMouse As Boolean
        ''' <summary>
        ''' Time limit enabled flag. If this member is TRUE, streaming capture stops after the
        ''' number of seconds in wTimeLimit has elapsed. The default value is FALSE.
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fLimitEnabled As Boolean
        ''' <summary>
        ''' Time limit for capture, in seconds. This parameter is used only if fLimitEnabled is TRUE.
        ''' </summary>

        Public wTimeLimit As Integer
        ''' <summary>
        ''' MCI device capture flag. If this member is TRUE, AVICap controls an MCI-compatible video
        ''' source during streaming capture. MCI-compatible video sources include VCRs and laserdiscs.
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fMCIControl As Boolean
        ''' <summary>
        ''' MCI device step capture flag. If this member is TRUE, step capture using an MCI device as
        ''' a video source is enabled. If it is FALSE, real-time capture using an MCI device is enabled.
        ''' (If fMCIControl is FALSE, this member is ignored.)
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fStepMCIDevice As Boolean
        ''' <summary>
        ''' Starting position, in milliseconds, of the MCI device for the capture sequence. (If
        ''' fMCIControl is FALSE, this member is ignored.)
        ''' </summary>

        Public dwMCIStartTime As Integer
        ''' <summary>
        ''' Stopping position, in milliseconds, of the MCI device for the capture sequence. When this
        ''' position in the content is reached, capture ends and the MCI device stops. (If fMCIControl
        ''' is FALSE, this member is ignored.)
        ''' </summary>

        Public dwMCIStopTime As Integer
        ''' <summary>
        ''' Double-resolution step capture flag. If this member is TRUE, the capture hardware captures
        ''' at twice the specified resolution. (The resolution for the height and width is doubled.)
        ''' Enable this option if the hardware does not support hardware-based decimation and you are
        ''' capturing in the RGB format.
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fStepCaptureAt2x As Boolean
        ''' <summary>
        ''' Number of times a frame is sampled when creating a frame based on the average sample. A
        ''' typical value for the number of averages is 5.
        ''' </summary>

        Public wStepCaptureAverageFrames As Integer
        ''' <summary>
        ''' Audio buffer size. If the default value of zero is used, the size of each buffer will be the
        ''' maximum of 0.5 seconds of audio or 10K bytes.
        ''' </summary>

        Public dwAudioBufferSize As Integer
        ''' <summary>
        ''' Not used in Win32 applications.
        ''' </summary>

        <MarshalAs(UnmanagedType.Bool)> Public fDisableWriteCache As Boolean
        ''' <summary>
        ''' Indicates whether the audio stream controls the clock when writing an AVI file. If this
        ''' member is set to AVSTREAMMASTER_AUDIO, the audio stream is considered the master stream
        ''' and the video stream duration is forced to match the audio duration. If this member is
        ''' set to AVSTREAMMASTER_NONE, the durations of audio and video streams can differ.
        ''' </summary>
        Public AVStreamMaster As Integer
End Structure

User-Defined Field Types:

None.

Notes:

None.

Documentation