Metodo COutputQueue.NewSegment

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

Il NewSegment metodo fornisce un nuovo segmento al pin di input.

Sintassi

HRESULT NewSegment(
   REFERENCE_TIME tStart,
   REFERENCE_TIME tStop,
   double         dRate
);

Parametri

tStart

A partire dalla posizione multimediale del segmento, in unità da 100 nanosecondi.

tStop

Posizione multimediale finale del segmento, in unità da 100 nanosecondi.

dRate

Frequenza in cui questo segmento deve essere elaborato, come percentuale della frequenza originale.

Valore restituito

Restituisce un valore HRESULT .

Commenti

Se l'oggetto usa un thread, accoda gli elementi seguenti, in ordine:

  • Messaggio di controllo NEW_SEGMENT.
  • Dati del segmento.

Il messaggio NEW_SEGMENT notifica al thread che l'elemento successivo della coda conterrà i dati del segmento. I dati del segmento vengono raggruppati in una struttura, dichiarati come segue:

struct NewSegmentPacket {
    REFERENCE_TIME tStart;
    REFERENCE_TIME tStop;
    double dRate;
}; 

Il thread chiama il metodo IPin::NewSegment nel pin di input, usando i dati specificati nella struttura.

Se l'oggetto non usa un thread, chiama il metodo COutputQueue::SendAnyway per distribuire eventuali esempi in sospeso. Chiama quindi IPin::NewSegment nel pin di input.

Requisiti

Requisito Valore
Intestazione
Outputq.h (include Streams.h)
Libreria
Strmbase.lib (build al dettaglio);
Strmbasd.lib (build di debug)

Vedi anche

Classe COutputQueue