Méthode IMFSourceReader ::SetStreamSelection (mfreadwrite.h)

Sélectionne ou désélectionne un ou plusieurs flux.

Syntaxe

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

Paramètres

[in] dwStreamIndex

Flux à définir. La valeur peut être l’une des suivantes.

Valeur Signification
0 à 0xFFFFFFFB
Index de base zéro d’un flux.
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
Premier flux vidéo.
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
Premier flux audio.
MF_SOURCE_READER_ALL_STREAMS
0xFFFFFFFE
Tous les flux.

[in] fSelected

Spécifiez TRUE pour sélectionner des flux ou FALSE pour désélectionner les flux. Si un flux est désélectionné, il ne génère pas de données.

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Il existe deux utilisations courantes de cette méthode :

  • Pour modifier la sélection de flux par défaut. Certains fichiers multimédias contiennent plusieurs flux du même type. Par exemple, un fichier peut inclure des flux audio pour plusieurs langues. Vous pouvez utiliser cette méthode pour modifier lequel des flux est sélectionné. Pour obtenir des informations sur chaque flux, appelez IMFSourceReader ::GetPresentationAttribute ou IMFSourceReader ::GetNativeMediaType.
  • Si vous n’avez pas besoin de données de l’un des flux, il est judicieux de désélectionner ce flux. Si le flux est sélectionné, la source multimédia peut contenir une file d’attente de données non lues et la file d’attente peut croître indéfiniment, consommant de la mémoire.
Pour obtenir un exemple de désélection d’un flux, consultez Tutoriel : Décodage audio.

Si un flux est désélectionné, la méthode IMFSourceReader ::ReadSample retourne MF_E_INVALIDREQUEST pour ce flux. D’autres méthodes IMFSourceReader sont valides pour les flux désélectionnés.

Stream sélection n’affecte pas la façon dont le lecteur source charge ou décharge les décodeurs en mémoire. En particulier, la désélection d’un flux ne force pas le lecteur source à décharger le décodeur pour ce flux.

Cette interface est disponible sur Windows Vista si le Supplément mise à jour de la plateforme pour Windows Vista est installé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Supplément windows 7, Windows Vista et mise à jour de la plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête mfreadwrite.h

Voir aussi

IMFSourceReader

Lecteur source