Bagikan melalui


Kelas CBaseVideoRenderer

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan 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 Audio/Video Capture 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.]

Hierarki kelas cbasevideorenderer

Kelas CBaseVideoRenderer dasar digunakan untuk membangun filter perender video.

Anggota Data terproteksi Deskripsi
m_bDrawLateFrames Bendera untuk memberi sinyal bahwa tidak ada bingkai yang akan dihilangkan. Debug saja. Ini menghancurkan sinkronisasi.
m_bSupplierHandlingQuality TRUE menunjukkan pesan kontrol kualitas sedang ditangani. Ini memungkinkan perender tahu untuk menunggu sampai selambat mungkin untuk menjatuhkan bingkai itu sendiri, dan untuk menampilkan bingkai berikutnya sangat awal setelah pemasok menjatuhkan bingkai.
m_cFramesDrawn Jumlah total bingkai yang telah digambar sejak streaming dimulai.
m_cFramesDropped Bingkai kumulatif yang telah dihilangkan di perender sejak streaming dimulai. Bingkai juga dapat dihilangkan di hulu tanpa perender mengenalinya.
m_idDecision MSR_id untuk kode keputusan ShouldDrawSampleNow.
m_idDuration MSR_id selama durasi bingkai.
m_idFrameAccuracy Pengidentifikasi log performa untuk waktu dalam milidetik bahwa bingkai terlambat.
m_idFrameAvg Pengidentifikasi log performa untuk jangka waktu rata-rata yang digunakan untuk sinkronisasi dan kontrol kualitas.
m_idQualityRate MSR_id untuk tingkat kualitas yang diminta.
m_idQualityTime MSR_id untuk waktu kualitas yang diminta.
m_idRenderAvg Pengidentifikasi log performa untuk waktu perender rata-rata yang direkam.
m_idSchLateTime MSR_id seberapa terlambat bingkai ketika dijadwalkan.
m_idSendQuality MSR_id untuk mengatur waktu pemberitahuan (tidak digunakan).
m_idTimeStamp MSR_id untuk stempel waktu kerangka kerja.
m_idWait Pengidentifikasi log performa untuk waktu tunggu yang direkam (tidak digunakan).
m_idWaitReal Pengidentifikasi log performa untuk waktu tunggu yang sebenarnya.
m_iSumFrameTime Jumlah waktu interframe; diperlukan untuk halaman properti.
m_iSumSqAcc Jumlah kuadrat akurasi (dalam milidetik) yang diperlukan untuk halaman properti.
m_iSumSqFrameTime Jumlah kuadrat waktu interframe; diperlukan untuk halaman properti.
m_iTotAcc Jumlah akurasi (dalam milidetik) yang diperlukan untuk halaman properti.
m_nNormal Jumlah bingkai berturut-turut yang digambar pada waktu yang dijadwalkan. Angka negatif menunjukkan bahwa bingkai baru saja dihilangkan oleh perender.
m_trDuration Durasi bingkai terakhir (perbedaan antara waktu mulai dan berakhir).
m_trEarliness Seberapa awal bingkai diizinkan untuk dimainkan ketika bingkai baru saja dihilangkan.
m_trFrame Waktu yang terakhir direkam antar bingkai. Digunakan dalam pengukuran statistik.
m_trFrameAvg Waktu interframe rata-rata dalam unit waktu referensi.
m_trLastDraw Waktu bingkai sebelumnya. Digunakan untuk referensi waktu interframe.
m_trLate Jumlah waktu bingkai saat ini terlambat. Digunakan dalam pengukuran statistik.
m_trRenderAvg Waktu yang diperlukan bingkai untuk melakukan transfer blok bit.
m_trRenderLast Waktu untuk transfer blok bit bingkai terakhir.
m_trRenderStart Waktu transfer blok bit dimulai. Digunakan untuk mendapatkan m_trRenderLast.
m_trThrottle Periode untuk disisipkan setelah merender setiap bingkai, biasanya digunakan ketika kualitas audio telah ditingkatkan dan performa video harus dikurangi untuk memungkinkan hal ini.
m_trWaitAvg Waktu tunggu rata-rata dalam unit waktu referensi.
m_tStreamingStart Digunakan untuk statistik halaman properti. Mewakili waktu mulai proses streaming saat ini atau proses streaming sebelumnya jika saat ini tidak streaming.
Fungsi Anggota Deskripsi
CBaseVideoRenderer Membuat objek CBaseVideoRenderer .
GetStdDev Memperkirakan simpangan baku dalam milidetik antara ketika setiap bingkai jatuh tempo dan kapan benar-benar dirender, untuk statistik per bingkai.
PreparePerformanceData Mengatur nilai m_trLate dan m_trFrame bingkai saat ini.
PembatasanWait Menyisipkan periode tunggu setelah setiap bingkai.
Fungsi Anggota yang Dapat Diganti Deskripsi
JoinFilterGraph Mengirim peristiwa EC_WINDOW_DESTROYED saat filter dihapus dari grafik filter.
OnDirectRender Mengumpulkan informasi waktu yang mengontrol sinkronisasi dan kontrol kualitas.
OnRenderEnd Merekam informasi untuk kontrol kualitas dan sinkronisasi.
Mulai OnRender Merekam informasi untuk kontrol kualitas dan sinkronisasi.
OnStartStreaming Mengatur ulang sepanjang waktu yang mengontrol streaming.
OnStopStreaming Dipanggil di akhir streaming untuk memperbaiki waktu untuk laporan halaman properti.
OnWaitEnd Dipanggil ketika waktu tunggu berakhir. Hanya pengelogan performa.
OnWaitStart Updates waktu yang dihabiskan untuk menunggu dan tidak menunggu. Hanya pengelogan performa.
RecordFrameLateness Merekam seberapa tepat waktu penyajian terjadi dan mengumpulkan statistik untuk halaman properti.
ResetStreamingTimes Mengatur ulang setiap saat yang mengontrol streaming.
ScheduleSample Menyiapkan tautan saran dengan jam.
SendQuality Mengirim pesan berkualitas untuk menunjukkan apa yang harus dilakukan pemasok tentang kualitas.
ShouldDrawSampleNow Menentukan apakah video harus digambar saat jatuh tempo, tanpa mengatur tautan saran timer dengan jam.
Metode IQualProp Deskripsi
Get_Avg FrameRate Mengambil kecepatan bingkai rata-rata sejak streaming dimulai dalam bingkai per 100 detik.
get_AvgSyncOffset Mengambil rata-rata waktu dalam milidetik antara ketika setiap bingkai jatuh tempo dan kapan benar-benar dirender. Ini berlaku untuk semua bingkai sejak streaming dimulai.
get_DevSyncOffset Mengambil simpangan baku waktu dalam milidetik antara ketika setiap bingkai jatuh tempo dan kapan benar-benar dirender untuk semua bingkai sejak streaming dimulai.
get_FramesDrawn Mengambil jumlah bingkai yang digambar sejak streaming dimulai.
get_FramesDroppedInRenderer Mengambil jumlah bingkai yang dijatuhkan oleh perender. Bingkai juga dapat dihilangkan di hulu.
get_Jitter Mengambil simpantan standar waktu dalam milidetik antara setiap bingkai dan bingkai berikutnya. Ini berlaku untuk semua bingkai sejak streaming dimulai.
Metode IQualityControl Deskripsi
Beri tahu Memberi tahu penerima bahwa perubahan kualitas diminta.
SetSink Mengatur objek IQualityControl yang akan menerima pesan berkualitas.