tagAM_SAMPLE_PROPERTY_FLAGS-Enumeration (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Gibt Werte für die AM_SAMPLE2_PROPERTIES-Struktur an. Diese Werte beschreiben die Eigenschaften von Medienbeispielen.

Syntax

typedef enum tagAM_SAMPLE_PROPERTY_FLAGS {
  AM_SAMPLE_SPLICEPOINT = 0x1,
  AM_SAMPLE_PREROLL = 0x2,
  AM_SAMPLE_DATADISCONTINUITY = 0x4,
  AM_SAMPLE_TYPECHANGED = 0x8,
  AM_SAMPLE_TIMEVALID = 0x10,
  AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
  AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
  AM_SAMPLE_STOPVALID = 0x100,
  AM_SAMPLE_ENDOFSTREAM = 0x200,
  AM_STREAM_MEDIA = 0,
  AM_STREAM_CONTROL = 1
} ;

Konstanten

 
AM_SAMPLE_SPLICEPOINT
Wert: 0x1
Das Beispiel ist ein Splicepunkt (er kann ohne Verweis auf vorherige Daten decodiert werden).
AM_SAMPLE_PREROLL
Wert: 0x2
Das Beispiel ist ein Vorabrollbeispiel.
AM_SAMPLE_DATADISCONTINUITY
Wert: 0x4
Die ersten Daten in diesem Beispiel sind ein Splicepunkt. Auf die Daten im vorherigen Beispiel sollten keine Daten in diesem Beispiel folgen. Weitere Informationen finden Sie in den Hinweisen.
AM_SAMPLE_TYPECHANGED
Wert: 0x8
Beispieltyp geändert.
AM_SAMPLE_TIMEVALID
Wert: 0x10
Die Zeit ist gültig.
AM_SAMPLE_TIMEDISCONTINUITY
Wert: 0x40
Nach diesem Beispiel beginnt eine Zeitlücke in den Daten. Die AM_SAMPLE2_PROPERTIES-Struktur kann in diesem Fall NULL sein.
AM_SAMPLE_FLUSH_ON_PAUSE
Wert: 0x80
Nur für Livedaten; gibt im angehaltenen Zustand verwerfen an.
AM_SAMPLE_STOPVALID
Wert: 0x100
Die Stoppzeit ist gültig.
AM_SAMPLE_ENDOFSTREAM
Wert: 0x200
Das Ende des Datenstroms tritt nach diesem Beispiel auf. Dieses Flag ist für Kernelstreaming reserviert. DirectShow verwendet sie derzeit nicht.
AM_STREAM_MEDIA
Wert: 0
Normaler Datenstrombezeichner.
AM_STREAM_CONTROL
Wert: 1
Steuern des Streambezeichners. Ein Wert größer als 0x7FFFFFFF gibt einen anwendungsdefinierten Stream an.

Hinweise

Das flag AM_SAMPLE_DATADISCONTINUITY gibt an, dass die Daten in der aktuellen Medienstichprobe nicht als zusammenhängend mit den Daten in vorherigen Beispielen betrachtet werden. Ein Filter, der ein Beispiel mit dem AM_SAMPLE_DATADISCONTINUITY Flags empfängt, sollte nicht verarbeitete Daten in seinen Puffern nicht verwerfen. Ein Filter, der auf eingehende Daten wartet, bevor gepufferte Daten verarbeitet werden können, sollte die gepufferten Daten sofort verarbeiten. Daher können gepufferte Daten verworfen werden, wenn sie unvollständig sind.

Beispielsweise kann ein Video-Dekomprimierungsfilter ein Medienbeispiel mit dem AM_SAMPLE_DATADISCONTINUITY-Flag empfangen, wenn er zwei vollständige komprimierte Videoframes und einen unvollständigen komprimierten Videoframe in seinen Puffern enthält. In diesem Fall dekomprimiert der Filter die beiden vollständigen Frames und verwirft den unvollständigen dritten Frame, bevor mit der Verarbeitung von Daten aus dem aktuellen Medienbeispiel begonnen wird.

Das flag AM_SAMPLE_DATADISCONTINUITY wird für das erste Beispiel festgelegt, das nach einem Leeren oder Beenden empfangen wurde. Darüber hinaus sollten Sie das flag AM_SAMPLE_DATADISCONTINUITY verwenden, wenn Inhalte in der Quelle gewechselt werden, wenn eine Kanaländerung auftritt (wenn möglicherweise auch eine Formatänderung vorliegt) oder wenn Daten aufgrund von Streamunterbrechungen fehlen.

Das AM_SAMPLE_DATADISCONTINUITY-Flag entspricht der IMediaSample::IsDiscontinuity-Methode , die S_OK zurückgibt.

Anforderungen

Anforderung Wert
Header strmif.h (include DShow.h)

Weitere Informationen

DirectShow Enumerated Types