Classe CBaseVideoRenderer

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

gerarchia di classi cbasevideorenderer

La CBaseVideoRenderer classe di base viene usata per la creazione di filtri del renderer video.

Membri dati protetti Descrizione
m_bDrawLateFrames Contrassegno per segnalare che non devono essere eliminati fotogrammi. Eseguire il debug solo. In questo modo la sincronizzazione viene eliminata.
m_bSupplierHandlingQuality TRUE indica che i messaggi di controllo della qualità vengono gestiti. Ciò consente al renderer di sapere di attendere fino al più tardi possibile per rilasciare i fotogrammi stessi e di visualizzare il frame successivo molto presto dopo che il fornitore ha eliminato un frame.
m_cFramesDrawn Numero totale di fotogrammi che sono stati disegnati dopo l'avvio dello streaming.
m_cFramesDropped Frame cumulativi eliminati nel renderer dopo l'avvio del flusso. I fotogrammi possono essere eliminati anche a monte senza che il renderer li riconosca.
m_idDecision MSR_id per il codice decisionale di ShouldDrawSampleNow.
m_idDuration MSR_id per la durata di un frame.
m_idFrameAccuracy Identificatore del log delle prestazioni per il tempo in millisecondi in cui il frame è stato in ritardo.
m_idFrameAvg Identificatore del log delle prestazioni per l'intervallo medio usato per la sincronizzazione e il controllo qualità.
m_idQualityRate MSR_id per la frequenza di qualità richiesta.
m_idQualityTime MSR_id per il tempo di qualità richiesto.
m_idRenderAvg Identificatore del log delle prestazioni per il tempo medio del renderer registrato.
m_idSchLateTime MSR_id per quanto ritarda la cornice è stata pianificata.
m_idSendQuality MSR_id per la tempistica delle notifiche (inutilizzate).
m_idTimeStamp MSR_id per un timestamp di frame.
m_idWait Identificatore del log delle prestazioni per il tempo di attesa registrato (inutilizzato).
m_idWaitReal Identificatore del log delle prestazioni per il tempo di attesa reale.
m_iSumFrameTime Somma dei tempi interframe; necessario per la pagina delle proprietà.
m_iSumSqAcc Somma dei quadrati delle accuratezze (in millisecondi) necessarie per la pagina delle proprietà.
m_iSumSqFrameTime Somma dei quadrati dei tempi interframe; necessario per la pagina delle proprietà.
m_iTotAcc Somma delle accuratezze (in millisecondi) necessarie per la pagina delle proprietà.
m_nNormal Numero di fotogrammi consecutivi disegnati all'ora pianificata. Un numero negativo indica che un frame è stato appena eliminato dal renderer.
m_trDuration Durata dell'ultimo fotogramma (differenza tra l'ora iniziale e l'ora di fine).
m_trEarliness Quando un frame è appena stato eliminato, è consentito riprodurre un frame.
m_trFrame Tempo registrato più di recente tra fotogrammi. Usato nelle misurazioni statistiche.
m_trFrameAvg Tempo di interframe medio nelle unità temporali di riferimento.
m_trLastDraw Ora del frame precedente. Usato per i riferimenti temporali interframe.
m_trLate Tempo di ritardo del frame corrente. Usato nelle misurazioni statistiche.
m_trRenderAvg Tempo necessario per eseguire il trasferimento a blocchi di bit.
m_trRenderLast Tempo per il trasferimento dell'ultimo blocco bit di fotogramma.
m_trRenderStart Ora dell'avvio del trasferimento a blocchi di bit. Usato per ottenere m_trRenderLast.
m_trThrottle Periodo di inserimento dopo il rendering di ogni fotogramma, in genere usato quando la qualità audio è stata aumentata e le prestazioni video devono essere ridotte per consentire questo.
m_trWaitAvg Tempo di attesa medio nelle unità temporali di riferimento.
m_tStreamingStart Usato per le statistiche delle pagine delle proprietà. Rappresenta l'ora di inizio del processo di streaming corrente o del processo di streaming precedente, se non è attualmente in streaming.
Funzioni di membro Descrizione
CBaseVideoRenderer Costruisce un oggetto CBaseVideoRenderer .
GetStdDev Stima la deviazione standard in millisecondi tra quando ogni frame è dovuto e quando viene effettivamente eseguito il rendering, per le statistiche per frame.
PreparePerformanceData Imposta i valori di m_trLate e m_trFrame del frame corrente.
ThrottleWait Inserisce un periodo di attesa dopo ogni frame.
Funzioni membro sostituibile Descrizione
JoinFilterGraph Invia un evento EC_WINDOW_DESTROYED quando il filtro viene rimosso dal grafico del filtro.
OnDirectRender Raccoglie le informazioni di intervallo che controllano la sincronizzazione e il controllo qualità.
OnRenderEnd Registra le informazioni per il controllo qualità e la sincronizzazione.
OnRenderStart Registra le informazioni per il controllo qualità e la sincronizzazione.
OnStartStreaming Reimposta tutte le volte che controllano lo streaming.
OnStopStreaming Chiamato alla fine del flusso per correggere i tempi per il report della pagina delle proprietà.
OnWaitEnd Chiamato quando termina un'ora di attesa. Solo registrazione delle prestazioni.
OnWaitStart Aggiornamenti volte trascorse in attesa e non in attesa. Solo registrazione delle prestazioni.
RecordFrameLateness Registra il modo in cui si è verificato il rendering tempestivo e raccoglie le statistiche per la pagina delle proprietà.
ResetStreamingTimes Reimposta tutte le volte che controllano lo streaming.
ScheduleSample Configura un collegamento consigliato con l'orologio.
SendQuality Invia un messaggio di qualità per indicare cosa deve fare il fornitore sulla qualità.
ShouldDrawSampleNow Determina se il video deve essere disegnato quando è dovuto, senza impostare un collegamento timer consigliato con l'orologio.
Metodi IQualProp Descrizione
get_Avg FrameRate Recupera la frequenza media dei fotogrammi dopo l'avvio dello streaming nei fotogrammi per 100 secondi.
get_AvgSyncOffset Recupera la media del tempo in millisecondi tra quando ogni frame era dovuto e quando è stato effettivamente eseguito il rendering. Questo vale per tutti i frame dall'avvio dello streaming.
get_DevSyncOffset Recupera la deviazione standard del tempo in millisecondi tra quando ogni frame è stato dovuto e quando è stato effettivamente eseguito il rendering per tutti i fotogrammi dopo l'avvio dello streaming.
get_FramesDrawn Recupera il numero di fotogrammi disegnati dall'avvio del flusso.
get_FramesDroppedInRenderer Recupera il numero di fotogrammi eliminati dal renderer. I fotogrammi possono essere eliminati anche a monte.
get_Jitter Recupera la deviazione standard del tempo in millisecondi tra ogni frame e la successiva. Questo vale per tutti i frame dall'avvio dello streaming.
Metodi IQualityControl Descrizione
Notifica Notifica al destinatario che viene richiesta una modifica della qualità.
SetSink Imposta l'oggetto IQualityControl che riceverà messaggi di qualità.