Metode CBaseControlVideo.IsDefaultSourceRect

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Metode IsDefaultSourceRect menentukan apakah perender menggunakan persegi sumber default (virtual murni).

Sintaks

virtual HRESULT IsDefaultSourceRect() = 0;

Parameter

Metode ini tidak memiliki parameter.

Nilai kembali

Mengembalikan S_OK jika perender menggunakan sumber default; jika tidak, mengembalikan S_FALSE.

Keterangan

Fungsi anggota ini harus diimplementasikan di kelas turunan. Ini dipanggil oleh fungsi anggota CBaseControlVideo::IsUsingDefaultSource .

Contoh berikut menunjukkan implementasi fungsi ini di kelas turunan.

// 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;
}

Dalam contoh ini, CVideoText adalah kelas yang berasal dari CBaseControlVideo, m_pRenderer menyimpan objek kelas yang berasal dari CBaseVideoRenderer, dan anggota data m_DrawImage, yang ditentukan dalam kelas turunan, menyimpan objek CDrawImage . Anggota data m_mtIn, juga didefinisikan di kelas turunan, menyimpan objek CMediaType dengan jenis media pin input.

Persyaratan

Persyaratan Nilai
Header
Ctlutil.h (termasuk Streams.h)
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)

Lihat juga

Kelas CBaseControlVideo