Condividi tramite


Metodo IMFASFMultiplexer::P rocessSample (wmcontainer.h)

Fornisce esempi di input al multiplexer.

Sintassi

HRESULT ProcessSample(
  [in] WORD      wStreamNumber,
  [in] IMFSample *pISample,
  [in] LONGLONG  hnsTimestampAdjust
);

Parametri

[in] wStreamNumber

Numero di flusso del flusso a cui appartiene l'esempio.

[in] pISample

Puntatore all'interfaccia FMSample dell'esempio di input. L'esempio di input contiene i dati multimediali da convertire in pacchetti di dati ASF. Se possibile, il timestamp di questo esempio deve essere accurato.

[in] hnsTimestampAdjust

Regolazione da applicare al timestamp dell'esempio. Questo parametro viene usato se il chiamante vuole spostare l'ora di esempio in pISample. Questo valore deve essere positivo se il timestamp deve essere premuto in anticipo e negativo se il timestamp deve essere eseguito il push indietro. Questo timestamp viene aggiunto all'ora di esempio in pISample e l'ora risultante viene usata dal multiplexer anziché dall'ora di esempio originale. Se non è necessaria alcuna regolazione, impostare questo valore su 0.

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
MF_E_NOTACCEPTING
Sono presenti troppi pacchetti in attesa di essere recuperati dal multiplexer. Chiamare IMFASFMultiplexer::GetNextPacket per ottenere i pacchetti.
MF_E_BANDWIDTH_OVERRUN
L'esempio elaborato viola le limitazioni della larghezza di banda specificate per il flusso nell'oggetto AsF ContentInfo. Quando viene generato questo errore, l'esempio viene eliminato.
MF_E_INVALIDSTREAMNUMBER
Il valore passato in wStreamNumber non è valido.
MF_E_LATE_SAMPLE
L'ora di presentazione dell'esempio di supporto di input è precedente all'ora di invio.

Commenti

L'applicazione passa esempi a ProcessSample e il multiplexer ASF li accoda internamente fino a quando non sono pronti per essere inseriti in pacchetti ASF. Chiamare FMASFMultiplexer::GetNextPacket per ottenere il pacchetto di dati ASF.

Dopo ogni chiamata a ProcessSample, chiamare GetNextPacket in un ciclo per ottenere tutti i pacchetti di dati disponibili. Per un esempio di codice, vedere Generazione di nuovi pacchetti di dati ASF.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wmcontainer.h
Libreria Mfuuid.lib

Vedi anche

Generazione di nuovi pacchetti di dati ASF

IMFASFMultiplexer

FMISample