IAMParse Interface

This interface allows you to query and set the parse time—a notional time associated with the current position in the stream of bytes supplied to the parser filter. This time is also tied to the origin of the time stamps in that time stamp zero corresponds to parse time zero.

The IAMParse interface is intended for implementation by parser filters such as the MPEG-2 Splitter.

Use this interface to retrieve or set the current stream parse time or to clear the data buffer of its current data.

Methods in Vtable Order

IUnknown methodsDescription
QueryInterface Retrieves pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.
IAMParse methodsDescription
Flush Empties the current file buffer.
GetParseTime Retrieves the current stream parse time.
SetParseTime Sets the current stream parse time.

IAMParse::Flush

IAMParse Interface

Clears the current file data to allow for a more rapid switch to a new file.

Syntax

HRESULT Flush(void);

Return Value

Returns an HRESULT value that depends on the implementation of the interface. HRESULT can include one of the following standard constants, or other values not listed.
E_FAIL Failure.
E_INVALIDARG Argument is invalid.
E_NOTIMPL Method is not supported.
E_POINTER Null pointer argument.
S_OK Success.

Remarks

Although this method can make transitions much more immediate, it can also make them appear less seamless.

IAMParse::GetParseTime

IAMParse Interface

Retrieves the current stream parse time. For MPEG-2, this corresponds to the system clock time computed for the current stream position.

Syntax

HRESULT GetParseTime(
  REFERENCE_TIME *ptrParseTime
  );

Parameters

ptrParseTime
[out] Pointer to the current parse time.

Return Value

Returns S_OK if successful or VFW_E_NOT_CONNECTED otherwise. This means the parse time is not available because the input pin is not connected.

Remarks

The parse time for the MPEG-2 Splitter filter is the current stream position in system clock units. The initial value of the parse time is zero.

IAMParse::SetParseTime

IAMParse Interface

Sets the current stream parse time. For MPEG-2, this corresponds to the system clock time computed for the current stream position.

Syntax

HRESULT SetParseTime(
  REFERENCE_TIME rtPosition
  );

Parameters

rtPosition
[in] Current stream parse time.

Return Value

Returns S_OK if successful or VFW_E_NOT_CONNECTED otherwise. This means the parse time could not be set because the input pin is not connected.

Remarks

The parse time for the MPEG-2 Splitter filter is the current stream position in system clock units. The initial value of the parse time is zero.


Top of Page Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.