Condividi tramite


enumerazione tagAM_SAMPLE_PROPERTY_FLAGS (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Specifica i valori per la struttura AM_SAMPLE2_PROPERTIES . Questi valori descrivono le proprietà degli esempi multimediali.

Sintassi

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
} ;

Costanti

 
AM_SAMPLE_SPLICEPOINT
Valore: 0x1
L'esempio è un punto di giunzione (può essere decodificato senza riferimento ai dati precedenti).
AM_SAMPLE_PREROLL
Valore: 0x2
L'esempio è un esempio di preroll.
AM_SAMPLE_DATADISCONTINUITY
Valore: 0x4
I dati iniziali in questo esempio sono un punto di giunzione. I dati nell'esempio precedente non sono stati progettati per essere seguiti dai dati in questo esempio. Per altre informazioni, vedere la sezione Osservazioni.
AM_SAMPLE_TYPECHANGED
Valore: 0x8
Tipo di esempio modificato.
AM_SAMPLE_TIMEVALID
Valore: 0x10
L'ora è valida.
AM_SAMPLE_TIMEDISCONTINUITY
Valore: 0x40
Un intervallo di tempo nei dati inizia dopo questo esempio. In questo caso, la struttura AM_SAMPLE2_PROPERTIES può essere NULL .
AM_SAMPLE_FLUSH_ON_PAUSE
Valore: 0x80
Solo per i dati in tempo reale; indica l'eliminazione nello stato sospeso.
AM_SAMPLE_STOPVALID
Valore: 0x100
L'ora di arresto è valida.
AM_SAMPLE_ENDOFSTREAM
Valore: 0x200
La fine del flusso si verifica dopo questo esempio. Questo flag è riservato per lo streaming del kernel. DirectShow attualmente non lo usa.
AM_STREAM_MEDIA
Valore: 0
Identificatore normale del flusso di dati.
AM_STREAM_CONTROL
Valore: 1
Identificatore del flusso di controllo. Un valore maggiore di 0x7FFFFFFF indica un flusso definito dall'applicazione.

Commenti

Il flag AM_SAMPLE_DATADISCONTINUITY indica che i dati nell'esempio di supporto corrente non vengono considerati contigui con i dati negli esempi precedenti. Un filtro che riceve un esempio con il set di flag AM_SAMPLE_DATADISCONTINUITY non deve eliminare i dati non elaborati nei buffer. Filtro in attesa di dati in ingresso prima che possa elaborare i dati memorizzati nel buffer deve elaborare immediatamente i dati memorizzati nel buffer; pertanto, i dati memorizzati nel buffer potrebbero essere eliminati se sono incompleti.

Ad esempio, un filtro di decompressore video potrebbe ricevere un campione multimediale con il flag AM_SAMPLE_DATADISCONTINUITY impostato quando ha due fotogrammi video compressi completi e un fotogramma video compresso incompleto nei buffer. In questo caso, il filtro decomprime i due fotogrammi completi ed elimina il terzo frame incompleto prima di iniziare a elaborare i dati dall'esempio multimediale corrente.

Il flag AM_SAMPLE_DATADISCONTINUITY viene impostato nel primo esempio ricevuto dopo uno scaricamento o un arresto. È inoltre consigliabile usare il flag di AM_SAMPLE_DATADISCONTINUITY quando il contenuto viene spostato nell'origine, quando si verifica una modifica del canale (in caso di modifica del formato) o quando mancano dati a causa di interruzioni del flusso.

Il flag AM_SAMPLE_DATADISCONTINUITY equivale al metodo IMediaSample::IsDiscontinuity che restituisce S_OK.

Requisiti

Requisito Valore
Intestazione strmif.h (include DShow.h)

Vedi anche

Tipi enumerati DirectShow