Microsoft DirectX 9.0

IMpeg2Data::GetTable

The GetTable method retrieves a complete MPEG-2 PSI table. This method blocks until the filter receives all of the sections that make up the requested table, or until the specified time out elapses.

Syntax

HRESULT GetTable(
  PID  pid,
  TID  tid,
  PMPEG2_FILTER  pFilter,
  DWORD  dwTimeout,
  ISectionList**  ppSectionList
);

Parameters

pid

[in]  Specifies the packet identifier (PID) of the transport stream packets to examine.

tid

[in]  Specifies the table identifier (TID) of the section to retrieve.

pFilter

[in]  Optional pointer to an MPEG2_FILTER structure. The caller can use this parameter to exclude packets based on additional MPEG-2 header fields. This parameter can be NULL.

dwTimeout

[in]  Specifies a time-out value, in milliseconds. If the filter does not receive a matching section within the time-out period, the method fails.

ppSectionList

[out]  Pointer to a variable that receives an ISectionList interface pointer. Use this interface to retrieve the section data. The caller must release the interface.

Return Values

The method returns an HRESULT. Possible values include those in the following table.

Return code Description
MPEG2_E_SECTION_NOT_FOUND The filter did not receive a matching table section.
S_OK The method succeeded.

Remarks

You can use the pFilter parameter to specify the Table_ID_extension field or the version number field. Otherwise, the filter caches these values from the first section that matches the search criteria. It uses those values to match subsequent sections.

See Also