enumeração tagAM_SAMPLE_PROPERTY_FLAGS (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Especifica valores para a estrutura de AM_SAMPLE2_PROPERTIES . Esses valores descrevem as propriedades dos exemplos de mídia.

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
O exemplo é um ponto de junção (pode ser decodificado sem referência a dados anteriores).
AM_SAMPLE_PREROLL
Valor: 0x2
O exemplo é um exemplo de pré-registro.
AM_SAMPLE_DATADISCONTINUITY
Valor: 0x4
Os dados iniciais neste exemplo são um ponto de junção. Os dados na amostra anterior não se destinaram a serem seguidos por dados neste exemplo. Para obter mais informações, consulte Comentários.
AM_SAMPLE_TYPECHANGED
Valor: 0x8
Tipo de exemplo alterado.
AM_SAMPLE_TIMEVALID
Valor: 0x10
O tempo é válido.
AM_SAMPLE_TIMEDISCONTINUITY
Valor: 0x40
Um intervalo de tempo nos dados é iniciado após este exemplo. A estrutura AM_SAMPLE2_PROPERTIES pode ser NULL nesse caso.
AM_SAMPLE_FLUSH_ON_PAUSE
Valor: 0x80
Somente para dados dinâmicos; indica descarte no estado pausado.
AM_SAMPLE_STOPVALID
Valor: 0x100
O tempo de parada é válido.
AM_SAMPLE_ENDOFSTREAM
Valor: 0x200
O fim do fluxo ocorre após este exemplo. Esse sinalizador é reservado para streaming de kernel. No momento, o DirectShow não o usa.
AM_STREAM_MEDIA
Valor: 0
Identificador de fluxo de dados normal.
AM_STREAM_CONTROL
Valor: 1
Identificador de fluxo de controle. Um valor maior que 0x7FFFFFFF indica um fluxo definido pelo aplicativo.

Comentários

O sinalizador AM_SAMPLE_DATADISCONTINUITY indica que os dados no exemplo de mídia atual não são considerados contíguos com os dados em exemplos anteriores. Um filtro que recebe um exemplo com o conjunto de sinalizadores AM_SAMPLE_DATADISCONTINUITY não deve descartar dados não processados em seus buffers. Um filtro à espera de dados de entrada antes que eles possam processar dados armazenados em buffer deve processar os dados armazenados em buffer imediatamente; portanto, os dados armazenados em buffer poderão ser descartados se estiverem incompletos.

Por exemplo, um filtro de descompactador de vídeo pode receber um exemplo de mídia com o sinalizador AM_SAMPLE_DATADISCONTINUITY definido quando ele tem dois quadros de vídeo compactados completos e um quadro de vídeo compactado incompleto em seus buffers. Nesse caso, o filtro descompacta os dois quadros completos e descarta o terceiro quadro incompleto antes de começar a processar dados do exemplo de mídia atual.

O sinalizador AM_SAMPLE_DATADISCONTINUITY é definido no primeiro exemplo recebido após uma liberação ou uma parada. Além disso, você deve usar o sinalizador AM_SAMPLE_DATADISCONTINUITY quando o conteúdo é alternado na origem, quando ocorre uma alteração de canal (quando também pode haver uma alteração de formato) ou quando há dados ausentes devido a interrupções de fluxo.

O sinalizador AM_SAMPLE_DATADISCONTINUITY é equivalente ao método IMediaSample::IsDiscontinuity que retorna S_OK.

Requisitos

Requisito Valor
Cabeçalho strmif.h (inclua DShow.h)

Confira também

Tipos Enumerados do DirectShow