## IConfigInterleaving Interface

The IConfigInterleaving interface controls how files are written out to disk and sets interleaving configuration information such as frequency and preroll parameters.

This interface uses the InterleavingMode enumerated data type, which specifies how audio samples and video frames will be saved on a disk. Capture interleaving settings can range from INTERLEAVE_NONE to INTERLEAVE_FULL, depending on whether you will author immediately or later.

DirectShow currently implements this interface on the AVI multiplexer filter; however, you can implement it to set interleaving preferences on other file formats.

When to Implement

DirectShow implements this interface and makes its functionality available to anyone through the property page of an AVI multiplexer filter. However, you can implement this interface yourself when you want to be able to write out other file formats.

When to Use

Video-authoring applications that handle capturing should use this interface when they need to control how audio samples and video frames will be saved on a disk. Applications also use this interface when they need to set interleaving configuration information such as frequency and preroll parameters. (see Amcap.exe for a sample implementation of this interface).

Methods in Vtable Order

IUnknown methods | Description
QueryInterface | Retrieves pointers to supported interfaces.
AddRef | Increments the reference count.
Release | Decrements the reference count.

IConfigInterleaving methods | Description
put_Mode | Sets how audio samples and video frames will be saved on disk by specifying quality of interleaving.
get_Mode | Retrieves the interleaving quality setting.
put_Interleaving | Sets the audio preroll time and the frequency of the interleaving.
get_Interleaving | Retrieves the audio preroll time and the frequency of the interleaving.

###

IConfigInterleaving::get_Interleaving

IConfigInterleaving Interface

Retrieves the audio preroll time and the frequency of the interleaving.

HRESULT get_ Interleaving(
REFERENCE_TIME *prtInterleave,
REFERENCE_TIME *prtPreroll );

##### Parameters

prtInterleave
  [out] Frequency of the streams in the file, in 100-nanosecond units.
prtPreroll
  [out] Audio preroll, in 100-nanosecond units.

##### Return Values

Returns an HRESULT value that depends on the implementation of the interface.

##### See Also

IConfigInterleaving::put_Interleaving

###

IConfigInterleaving::get_Mode

IConfigInterleaving Interface

Retrieves the interleaving quality setting.

HRESULT get_ Mode(
InterleavingMode *pMode );

##### Parameters

mode
  [out] Interleaving quality setting specified in the InterleavingMode enumerated data type.

##### Return Values

Returns an HRESULT value that depends on the implementation of the interface.

##### Remarks

The interleaving mode is specified in the InterleavingMode enumerated data type and is set in the IConfigInterleaving::put_Mode method.

##### See Also

IConfigInterleaving::put_Mode

###

IConfigInterleaving::put_Interleaving

IConfigInterleaving Interface

Sets the audio preroll time and the frequency of the interleaving.

HRESULT put_ Interleaving(
const REFERENCE_TIME *prtInterleave,
const REFERENCE_TIME *prtPreroll );

##### Parameters

prtInterleave
  [in] Frequency of the streams in the file, in 100-nanosecond units.
prtPreroll
  [in] Audio preroll, in 100-nanosecond units.

##### Return Values

Returns an HRESULT value that depends on the implementation of the interface.

##### Remarks

An audio preroll of 750 milliseconds is recommended when authoring a file for distribution.

The default value for prtInterleave is 1000 milliseconds, however you can adjust this. The smaller the number, the larger the file overhead.

##### See Also

IConfigInterleaving::get_Interleaving

###

IConfigInterleaving::put_Mode

IConfigInterleaving Interface

Sets how audio samples and video frames are to be written to disk, by specifying quality of interleaving.

HRESULT put_ Mode(
InterleavingMode mode );

##### Parameters

mode
  [in] Interleaving quality setting specified in the InterleavingMode enumerated data type.

##### Return Values

Returns an HRESULT value that depends on the implementation of the interface.

##### Remarks

Applications that require full interleaving authoring quality should specify INTERLEAVE_FULL, INTERLEAVE_CAPTURE, and INTERLEAVE_NONE settings when you will author at a later time.

##### See Also

IConfigInterleaving::get_Mode

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.