CBaseControlVideo.IsDefaultSourceRect-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die IsDefaultSourceRect -Methode bestimmt, ob der Renderer das Standardquellrechteck (rein virtuell) verwendet.

Syntax

virtual HRESULT IsDefaultSourceRect() = 0;

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt S_OK zurück, wenn der Renderer die Standardquelle verwendet. gibt andernfalls S_FALSE zurück.

Bemerkungen

Diese Memberfunktion muss in der abgeleiteten Klasse implementiert werden. Sie wird von der CBaseControlVideo::IsUsingDefaultSource-Memberfunktion aufgerufen.

Im folgenden Beispiel wird eine Implementierung dieser Funktion in einer abgeleiteten Klasse veranschaulicht.

// Return S_OK if using the default source; otherwise, S_FALSE.
HRESULT CVideoText::IsDefaultSourceRect()
{
    RECT SourceRect;

    VIDEOINFO *pVideoInfo = (VIDEOINFO *) m_pRenderer->m_mtIn.Format();
    BITMAPINFOHEADER *pHeader = HEADER(pVideoInfo);
    m_pRenderer->m_DrawImage.GetSourceRect(&SourceRect);

    // Check the coordinates that match the video dimensions.

    if (SourceRect.left != 0 || SourceRect.top != 0 ||
            SourceRect.right != pHeader->biWidth ||
                SourceRect.bottom != pHeader->biHeight) {
                    return S_FALSE;
    }
    return S_OK;
}

In diesem Beispiel ist CVideoText eine von CBaseControlVideo abgeleitete Klasse, m_pRenderer ein Objekt einer klasse enthält, die von CBaseVideoRenderer abgeleitet ist, und der m_DrawImage Datenmember, der in der abgeleiteten Klasse definiert ist, enthält ein CDrawImage-Objekt . Das m_mtIn Datenmember, das ebenfalls in der abgeleiteten Klasse definiert ist, enthält ein CMediaType-Objekt mit dem Medientyp des Eingabenadels.

Anforderungen

Anforderung Wert
Header
Ctlutil.h (include Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBaseControlVideo-Klasse