Condividi tramite


Metodo IMFSourceReader::SetStreamSelection (mfreadwrite.h)

Seleziona o deseleziona uno o più flussi.

Sintassi

HRESULT SetStreamSelection(
  [in] DWORD dwStreamIndex,
  [in] BOOL  fSelected
);

Parametri

[in] dwStreamIndex

Flusso da impostare. Il valore può essere uno dei seguenti.

Valore Significato
0-0xFFFFFFFB
Indice in base zero di un flusso.
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
Primo flusso video.
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
Primo flusso audio.
MF_SOURCE_READER_ALL_STREAMS
0xFFFFFFFE
Tutti i flussi.

[in] fSelected

Specificare TRUE per selezionare flussi o FALSE per deselezionare i flussi. Se un flusso è deselezionato, non genererà dati.

Valore restituito

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Esistono due usi comuni per questo metodo:

  • Per modificare la selezione del flusso predefinita. Alcuni file multimediali contengono più flussi dello stesso tipo. Ad esempio, un file può includere flussi audio per più lingue. È possibile usare questo metodo per modificare il flusso selezionato. Per ottenere informazioni su ogni flusso, chiamare IMFSourceReader::GetPresentationAttribute o IMFSourceReader::GetNativeMediaType.
  • Se non sono necessari dati da uno dei flussi, è consigliabile deselezionare tale flusso. Se il flusso è selezionato, l'origine multimediale potrebbe contenere una coda di dati non letti e la coda potrebbe aumentare indefinitamente, consumando memoria.
Per un esempio di deselezionazione di un flusso, vedere Esercitazione: Decodifica dell'audio.

Se un flusso è deselezionato, il metodo IMFSourceReader::ReadSample restituisce MF_E_INVALIDREQUEST per tale flusso. Altri metodi IMFSourceReader sono validi per i flussi deselezionati.

Stream selezione non influisce sul modo in cui il lettore di origine carica o scarica i decodificatori in memoria. In particolare, la deselezionazione di un flusso non impone al lettore di origine di scaricare il decodificatore per tale flusso.

Questa interfaccia è disponibile in Windows Vista se è installato Platform Update Supplement per Windows Vista.

Requisiti

Requisito Valore
Client minimo supportato Supplemento per Windows 7, Windows Vista e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfreadwrite.h

Vedi anche

IMFSourceReader

Lettore di origine