Share via


tagAM_SAMPLE_PROPERTY_FLAGS enumeración (strmif.h)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

Especifica los valores de la estructura AM_SAMPLE2_PROPERTIES . Estos valores describen las propiedades de los ejemplos multimedia.

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

Constantes

 
AM_SAMPLE_SPLICEPOINT
Valor: 0x1
El ejemplo es un punto de splice (se puede descodificar sin referencia a datos anteriores).
AM_SAMPLE_PREROLL
Valor: 0x2
El ejemplo es un ejemplo de inscripción previa.
AM_SAMPLE_DATADISCONTINUITY
Valor: 0x4
Los datos iniciales de este ejemplo son un punto de splice. Los datos del ejemplo anterior no se han diseñado para ir seguidos de los datos de este ejemplo. Para obtener más información, vea la sección Comentarios.
AM_SAMPLE_TYPECHANGED
Valor: 0x8
Tipo de ejemplo cambiado.
AM_SAMPLE_TIMEVALID
Valor: 0x10
La hora es válida.
AM_SAMPLE_TIMEDISCONTINUITY
Valor: 0x40
Se inicia un intervalo de tiempo en los datos después de este ejemplo. La estructura AM_SAMPLE2_PROPERTIES puede ser NULL en este caso.
AM_SAMPLE_FLUSH_ON_PAUSE
Valor: 0x80
Solo para datos activos; indica descartar en el estado en pausa.
AM_SAMPLE_STOPVALID
Valor: 0x100
El tiempo de detención es válido.
AM_SAMPLE_ENDOFSTREAM
Valor: 0x200
El final de la secuencia se produce después de este ejemplo. Esta marca está reservada para el streaming del kernel. DirectShow no lo usa actualmente.
AM_STREAM_MEDIA
Valor: 0
Identificador de flujo de datos normal.
AM_STREAM_CONTROL
Valor: 1
Controlar el identificador de flujo. Un valor mayor que 0x7FFFFFFF indica una secuencia definida por la aplicación.

Comentarios

La marca AM_SAMPLE_DATADISCONTINUITY indica que los datos del ejemplo multimedia actual no se consideran contiguos con los datos de ejemplos anteriores. Un filtro que recibe un ejemplo con el conjunto de marcas de AM_SAMPLE_DATADISCONTINUITY no debe descartar los datos no procesados en sus búferes. Un filtro que espera los datos entrantes antes de que pueda procesar los datos almacenados en búfer debe procesar los datos almacenados en búfer inmediatamente; por lo tanto, los datos almacenados en búfer se pueden descartar si están incompletos.

Por ejemplo, un filtro de descompresión de vídeo puede recibir una muestra multimedia con la marca AM_SAMPLE_DATADISCONTINUITY establecida cuando tiene dos fotogramas de vídeo comprimidos completos y un fotograma de vídeo comprimido incompleto en sus búferes. En este caso, el filtro descomprime los dos fotogramas completos y descarta el tercer fotograma incompleto antes de empezar a procesar los datos del ejemplo multimedia actual.

La marca AM_SAMPLE_DATADISCONTINUITY se establece en el primer ejemplo recibido después de un vaciado o una detención. Además, debe usar la marca de AM_SAMPLE_DATADISCONTINUITY cuando se cambia el contenido en el origen, cuando se produce un cambio de canal (cuando también puede haber un cambio de formato) o cuando faltan datos debido a interrupciones del flujo.

La marca AM_SAMPLE_DATADISCONTINUITY es equivalente al método IMediaSample::IsDiscontinuity que devuelve S_OK.

Requisitos

Requisito Valor
Header strmif.h (incluya DShow.h)

Consulte también

Tipos enumerados de DirectShow