Share via


Méthode IMFSinkWriter ::P laceMarker (mfreadwrite.h)

Places un marqueur dans le flux spécifié.

Syntaxe

HRESULT PlaceMarker(
  [in] DWORD  dwStreamIndex,
  [in] LPVOID pvContext
);

Paramètres

[in] dwStreamIndex

Index de base zéro du flux.

[in] pvContext

Pointeur vers une valeur définie par l’application. La valeur de ce paramètre est retournée à l’appelant dans le paramètre pvContext de la méthode de rappel IMFSinkWriterCallback ::OnMarker de l’appelant. L’application est responsable de toute allocation de mémoire associée à ces données. Ce paramètre peut être NULL.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
MF_E_INVALIDREQUEST
La requête n’est pas valide.

Remarques

Pour utiliser cette méthode, vous devez fournir un rappel asynchrone lorsque vous créez l’enregistreur récepteur. Sinon, la méthode retourne MF_E_INVALIDREQUEST. Pour plus d’informations, consultez MF_SINK_WRITER_ASYNC_CALLBACK.

Les marqueurs permettent d’être avertis lorsque le récepteur multimédia consomme tous les exemples d’un flux jusqu’à un certain point. Le récepteur multimédia ne traite pas le marqueur tant qu’il n’a pas traité tous les échantillons antérieurs au marqueur. Lorsque le récepteur multimédia traite le marqueur, l’enregistreur de récepteur appelle la méthode OnMarker de l’application. Lorsque le rappel est appelé, vous savez que le récepteur a consommé tous les exemples précédents pour ce flux.

Par exemple, pour modifier le format midstream, appelez PlaceMarker au point où le format change. Quand OnMarker est appelé, il est prudent d’appeler IMFSinkWriter ::SetInputMediaType pour modifier le type d’entrée (en supposant que le récepteur multimédia prend en charge les modifications de format dynamique).

En interne, cette méthode appelle IMFStreamSink ::P laceMarker sur le récepteur multimédia.

Note Le paramètre pvContext de la méthode IMFSinkWriter ::P laceMarker n’est pas passé au paramètre pvarContextValue de la méthode IMFStreamSink ::P laceMarker . Ces deux paramètres ne sont pas directement liés.
 

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

IMFSinkWriter

Enregistreur récepteur