IDvdInfo2::GetSubpictureLanguage

 
Microsoft DirectShow 9.0

IDvdInfo2::GetSubpictureLanguage

The GetSubpictureLanguage method retrieves the language of the specified subpicture stream within the current title.

Syntax

  HRESULT GetSubpictureLanguage(
  ULONG ulStream,
  LCID *pLanguage
);

Parameters

ulStream

[in] Number of the subpicture stream for which the language is being retrieved.

pLanguage

[out] Pointer to an LCID that receives the locale information. The language information can then be extracted from the LCID by using the Win32 MAKELANGID macro.

Return Values

Returns one of the following HRESULT values.

Return code Description
S_OK Success.
E_INVALIDARG Invalid argument.
VFW_E_DVD_INVALIDDOMAIN The DVD Navigator is not initialized or not in a valid domain.

Remarks

To get the text languages available for a menu, call GetMenuLanguages. GetSubpictureLanguage sets the value pointed to by pLanguage to zero if the stream contains an unknown language. Call the Win32 GetLocaleInfo function as follows to create a human-readable string name from pLanguage:

LCID Language;
hr = pDvdInfo->GetSubpictureLanguage(ulStream, &Language);
if (SUCCEEDED(hr))
{
    int cchSize = GetLocaleInfo(Language, LOCALE_SENGLANGUAGE, 0, 0);
    TCHAR *szString = new TCHAR[cchSize];
    if (szString)
    {
        GetLocaleInfo(Language, LOCALE_SENGLANGUAGE, szString, cchSize);
        /* ... */
        delete [] szString;
    }
}

Requirements

Header: Declared in Strmif.h; include Dshow.h.

Library: Use Strmiids.lib.

See Also