Condividi tramite


Interfaccia FMByteStreamBuffering (mfidl.h)

Controlla il modo in cui un flusso di byte archivia i dati da una rete.

Per ottenere un puntatore a questa interfaccia, chiamare QueryInterface nell'oggetto flusso di byte.

Ereditarietà

L'interfaccia FMByteStreamBuffering eredita dall'interfaccia IUnknown . FMByteStreamBuffering include anche questi tipi di membri:

Metodi

L'interfaccia IMFByteStreamBuffering include questi metodi.

 
FMByteStreamBuffering::EnableBuffering

Abilita o disabilita il buffering.
FMByteStreamBuffering::SetBufferingParams

Imposta i parametri di buffering.
FMByteStreamBuffering::StopBuffering

Arresta qualsiasi buffer in corso.

Commenti

Se un flusso di byte implementa questa interfaccia, un'origine multimediale può usarla per controllare il modo in cui i dati del flusso di byte vengono implementati. Questa interfaccia è progettata per i flussi di byte che leggeno i dati da una rete.

Un flusso di byte che implementa questa interfaccia deve anche implementare l'interfaccia IMFMediaEventGenerator . Quando il flusso di byte avvia il buffer, invia un evento MEBufferingStarted . Quando arresta il buffering, invia un evento MEBufferingStopped .

Il flusso di byte deve inviare un evento MEBufferingStopped corrispondente per ogni evento MEBufferingStarted . Il flusso di byte non deve inviare eventi MEBufferingStarted a meno che l'origine multimediale non abbia abilitato il buffering chiamando EnableBuffering con il valore TRUE.

Dopo che il flusso di byte invia un evento MEBufferingStarted , deve inviare MEBufferingStopped se si verifica una delle operazioni seguenti:

  • Il flusso di byte termina il buffering dei dati.
  • Il flusso di byte raggiunge la fine del flusso.
  • L'origine multimediale chiama EnableBuffering con il valore FALSE.
  • L'origine multimediale chiama StopBuffering.
Il flusso di byte non deve inviare altri eventi di buffer dopo aver raggiunto la fine del file.

Se il buffering è disabilitato, il flusso di byte non invia eventi di buffering. Internamente, tuttavia, potrebbe comunque memorizzare nel buffer i dati mentre attende il completamento delle richieste di I/O. Pertanto, i metodi IMFByteStream potrebbero richiedere un periodo di tempo indefinito per completare.

Se il flusso di byte esegue il buffer dei dati internamente e l'origine multimediale chiama EnableBuffering con il valore TRUE, il flusso di byte può inviare immediatamente MEBufferingStarted .

Dopo l'avvio della presentazione, l'origine multimediale deve inoltrare e MEBufferingStarted e MEBufferingStopped eventi ricevuti durante l'avvio. La sessione multimediale sospende l'orologio della presentazione mentre il buffer è in corso e riavvia l'orologio della presentazione al termine del buffer. L'origine multimediale deve inoltrare questi eventi solo durante la riproduzione della presentazione. Lo scopo di inviare questi eventi alla sessione multimediale consiste nell'sospendere l'ora di presentazione mentre i dati dei buffer di origine.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfidl.h

Vedi anche

FMByteStream

FMByteStreamCacheControl

Interfacce di Media Foundation