IDvdInfo2::GetSubpictureLanguage method (strmif.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

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

Syntax

HRESULT GetSubpictureLanguage(
  [in]  ULONG ulStream,
  [out] LCID  *pLanguage
);

Parameters

[in] ulStream

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

[out] pLanguage

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 value

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:

C++
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

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

DVD Applications

Error and Success Codes

IDvdInfo2 Interface