estrutura AM_SAMPLE2_PROPERTIES (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.]

A estrutura AM_SAMPLE2_PROPERTIES descreve as propriedades de um exemplo de mídia. A interface IMediaSample2 usa essa estrutura.

Sintaxe

typedef struct tagAM_SAMPLE2_PROPERTIES {
  DWORD          cbData;
  DWORD          dwTypeSpecificFlags;
  DWORD          dwSampleFlags;
  LONG           lActual;
  REFERENCE_TIME tStart;
  REFERENCE_TIME tStop;
  DWORD          dwStreamId;
  AM_MEDIA_TYPE  *pMediaType;
  BYTE           *pbBuffer;
  LONG           cbBuffer;
} AM_SAMPLE2_PROPERTIES;

Membros

cbData

Comprimento dos dados de propriedade, em bytes. Esse membro de estrutura é para extensibilidade.

dwTypeSpecificFlags

Sinalizadores específicos do tipo. Os sinalizadores são definidos separadamente para cada tipo de mídia. O valor padrão é AM_VIDEO_FLAG_INTERLEAVED_FRAME (zero). Os sinalizadores a seguir são usados para fluxos de vídeo. Eles são definidos no arquivo de cabeçalho dvdmedia.h.

Sinalizador Significado
AM_VIDEO_FLAG_FIELD_MASK
0x0003
Use essa máscara para marcar se o exemplo é um campo ou um quadro.
AM_VIDEO_FLAG_INTERLEAVED_FRAME
0x0000
O exemplo é um quadro. (Use a máscara de bits AM_VIDEO_FLAG_FIELD_MASK para testar esse valor.)
AM_VIDEO_FLAG_FIELD1
0x0001
O exemplo é o campo 1. (Use a máscara de bits AM_VIDEO_FLAG_FIELD_MASK para testar esse valor.)
AM_VIDEO_FLAG_FIELD2
0x0002
O exemplo é o campo 2. (Use a máscara de bits AM_VIDEO_FLAG_FIELD_MASK para testar esse valor.)
AM_VIDEO_FLAG_FIELD1FIRST
0x0004
Se esse sinalizador estiver definido, exiba o campo 1 primeiro. Caso contrário, exiba o campo 2 primeiro. (Aplica-se somente quando há dois campos por exemplo.)
AM_VIDEO_FLAG_WEAVE
0x0008
Se esse sinalizador estiver definido, use o modo de tecelagem (ou seja, não desinterlacear o exemplo). Caso contrário, use o modo bob. Esse sinalizador só se aplica quando há dois campos por exemplo.
AM_VIDEO_FLAG_REPEAT_FIELD
0x0040
Se esse sinalizador estiver definido, exiba o primeiro campo novamente depois de exibir o segundo campo. (Aplica-se somente quando há dois campos por exemplo.)
AM_ReverseBlockStart
0x2
Sinaliza o início de um VOBU durante a reprodução inversa do vídeo de DVD. Para obter mais informações, consulte Aprimoramentos de reprodução de DVD no Windows Vista.
AM_ReverseBlockEnd
0x4
Sinaliza o fim de um VOBU durante a reprodução inversa do vídeo de DVD. O Navegador de DVD define esse sinalizador em um exemplo vazio para sinalizar o fim de um VOBU. Para obter mais informações, consulte Aprimoramentos de reprodução de DVD no Windows Vista.
AM_UseNewCSSKey
0x1
Para reprodução de DVD, indica o ponto no fluxo quando o decodificador deve aplicar uma nova chave CSS (Sistema de Embaralhamento de Conteúdo).

O Navegador de DVD define esse sinalizador em uma amostra de mídia vazia pouco antes de renegociar uma chave de título do CSS.

Anteriormente, o DVD Navigator enviava incorretamente essa chave antes de negociar a chave de disco. A partir do Windows 7, se a propriedade AM_PROPERTY_DVDCOPY_SUPPORTS_NEW_KEYCOUNT do decodificador retornar TRUE, o Navegador de DVD não enviará esse sinalizador antes de negociar a chave de disco. Confira Conjunto de propriedades de proteção de cópia de DVD.

 

Outros sinalizadores são definidos, mas não são usados no momento. Consulte dvdmedia.h.

dwSampleFlags

Combinação bit a bit de sinaliza o tipo de dados enumerado AM_SAMPLE_PROPERTY_FLAGS . Os bits indefinidos são reservados e devem ser zero.

lActual

Comprimento dos dados válidos no buffer.

tStart

Hora de início, se válida. O membro dwSampleFlags especifica se esse membro é válido.

tStop

Tempo de parada, se válido. O membro dwSampleFlags especifica se esse membro é válido.

dwStreamId

Stream identificador. Se o valor for AM_STREAM_MEDIA, o fluxo conterá dados de mídia. Se o valor for AM_STREAM_CONTROL, o fluxo conterá informações de controle. Os aplicativos podem definir valores de 0x80000000 ou superiores para uso próprio. (Consulte AM_SAMPLE_PROPERTY_FLAGS.)

pMediaType

Ponteiro para uma estrutura AM_MEDIA_TYPE que especifica o tipo de mídia se o formato tiver sido alterado. Se esse formato não tiver sido alterado, esse membro será NULL.

pbBuffer

Ponteiro para o buffer de exemplo.

cbBuffer

Tamanho do buffer de exemplo, em bytes.

Requisitos

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

Confira também

Estruturas do DirectShow