Événement MEStreamTick

Indique qu’un flux multimédia n’a pas de données disponibles à un moment spécifié.

Valeurs d’événement

Les valeurs possibles récupérées à partir d’IMFMediaEvent::GetValue sont les suivantes.

VARTYPE Description
VT_I8
Heure à laquelle l’écart se produit, en unités de 100 nanosecondes.

Notes

Cet événement signale une lacune dans les données. L’événement avertit les composants en aval de ne pas attendre de données à l’heure spécifiée.

L’événement doit être envoyé par l’objet qui génère les horodatages pour les exemples multimédias dans le flux. Selon le format des données, il s’agit des éléments suivants :

  • Le flux multimédia sur la source du média (interface IMFMediaStream ), ou
  • Transformation du décodeur (interface IMFTransform ).

Pendant l’intervalle, l’objet doit envoyer l’événement à peu près aussi souvent qu’il produit normalement des exemples. Pour la vidéo, envoyez un événement pour chaque image manquante. Pour l’audio, envoyez l’événement au moins une fois par seconde pendant l’intervalle. La valeur de l’événement est l’horodatage de l’exemple manquant. Envoyez autant d’événements MEStreamTick que nécessaire pour combler le vide dans les données.

Si une source multimédia a plusieurs flux et qu’il existe un écart dans plusieurs flux, chaque flux doit envoyer des événements MEStreamTick. Par exemple, s’il existe une lacune dans les données audio et vidéo, les deux flux envoient l’événement.

L’événement MEStreamTick ne termine pas une demande IMFMediaStream::RequestSample . La source multimédia doit toujours envoyer un événement MEMediaSample pour chaque appel à RequestSample.

Les récepteurs multimédias ne peuvent pas consommer cet événement directement. Pour signaler une lacune dans le flux à un récepteur multimédia, appelez IMFStreamSink::P laceMarker avec un marqueur MFSTREAMSINK_MARKER_TICK . Le pipeline Media Foundation convertit les événements MEStreamTick en marqueurs MFSTREAMSINK_MARKER_TICK si nécessaire.

Ne définissez pas l’attribut MFSampleExtension_Discontinuity sur l’exemple multimédia suivant après un événement MEStreamTick. L’attribut MFSampleExtension_Discontinuity implique que l’horodatage est discontinu avec les horodatages précédents, tandis que MEStreamTick implique que les horodatages sont continus, mais que certaines données sont manquantes.

Notes

Une version antérieure de la documentation indiquait à tort que l’exemple après un événement MEStreamTick doit avoir l’attribut MFSampleExtension_Discontinuity .

 

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 [applications de bureau uniquement]
En-tête
Mfobjects.h (inclure Mfidl.h)

Voir aussi

Événements Media Foundation