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.
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à. |