Поделиться через


структура AM_SAMPLE2_PROPERTIES (strmif.h)

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Структура AM_SAMPLE2_PROPERTIES описывает свойства примера мультимедиа. Эта структура используется в интерфейсе IMediaSample2 .

Синтаксис

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;

Члены

cbData

Длина данных свойства в байтах. Этот элемент структуры предназначен для расширяемости.

dwTypeSpecificFlags

Флаги, зависящие от типа. Флаги определяются отдельно для каждого типа мультимедиа. Значение по умолчанию — AM_VIDEO_FLAG_INTERLEAVED_FRAME (ноль). Следующие флаги используются для видеопотоков. Они определены в файле заголовка dvdmedia.h.

Flag Значение
AM_VIDEO_FLAG_FIELD_MASK
0x0003
Используйте эту маску, чтобы проверка, является ли пример полем или кадром.
AM_VIDEO_FLAG_INTERLEAVED_FRAME
0x0000
Пример представляет собой фрейм. (Используйте битовую маску AM_VIDEO_FLAG_FIELD_MASK для проверки этого значения.)
AM_VIDEO_FLAG_FIELD1
0x0001
Примером является поле 1. (Используйте битовую маску AM_VIDEO_FLAG_FIELD_MASK для проверки этого значения.)
AM_VIDEO_FLAG_FIELD2
0x0002
Примером является поле 2. (Используйте битовую маску AM_VIDEO_FLAG_FIELD_MASK для проверки этого значения.)
AM_VIDEO_FLAG_FIELD1FIRST
0x0004
Если этот флаг установлен, сначала отобразите поле 1. В противном случае сначала отображается поле 2. (Применяется только при наличии двух полей в выборке.)
AM_VIDEO_FLAG_WEAVE
0x0008
Если этот флаг установлен, используйте режим плетения (т. е. не деинтерлейсировать пример). В противном случае используйте режим Bob. Этот флаг применяется только при наличии двух полей на выборку.
AM_VIDEO_FLAG_REPEAT_FIELD
0x0040
Если этот флаг установлен, первое поле снова отображается после отображения второго поля. (Применяется только при наличии двух полей в выборке.)
AM_ReverseBlockStart
0x2
Сигнализирует о запуске VOBU во время обратного воспроизведения DVD-видео. Дополнительные сведения см. в разделе Улучшения воспроизведения DVD в Windows Vista.
AM_ReverseBlockEnd
0x4
Сигнализирует об окончании VOBU во время обратного воспроизведения DVD-видео. DVD-навигатор устанавливает этот флаг на пустом образце, чтобы сообщить об окончании VOBU. Дополнительные сведения см. в разделе Улучшения воспроизведения DVD в Windows Vista.
AM_UseNewCSSKey
0x1
Для воспроизведения DVD указывает точку в потоке, когда декодер должен применить новый ключ системы scramble (CSS).

DVD-навигатор устанавливает этот флаг на пустом образце носителя перед повторным согласованием ключа заголовка CSS.

Ранее DVD-навигатор неправильно отправлял этот ключ перед согласованием клавиши диска. Начиная с Windows 7, если свойство AM_PROPERTY_DVDCOPY_SUPPORTS_NEW_KEYCOUNT декодера возвращает значение TRUE, DVD-навигатор не отправляет этот флаг перед согласованием ключа диска. См . раздел Набор свойств защиты от копирования DVD.

 

Другие флаги определены, но в настоящее время не используются. См. dvdmedia.h.

dwSampleFlags

Побитовое сочетание флагов AM_SAMPLE_PROPERTY_FLAGS перечислимого типа данных. Неопределенные биты зарезервированы и должны иметь нулевое значение.

lActual

Длина допустимых данных в буфере.

tStart

Время начала, если допустимо. Член dwSampleFlags указывает, является ли этот элемент допустимым.

tStop

Время остановки, если допустимо. Член dwSampleFlags указывает, является ли этот элемент допустимым.

dwStreamId

идентификатор Stream. Если значение равно AM_STREAM_MEDIA, поток содержит данные мультимедиа. Если значение равно AM_STREAM_CONTROL, поток содержит сведения об управлении. Приложения могут определять значения 0x80000000 или выше для собственного использования. (См . AM_SAMPLE_PROPERTY_FLAGS.)

pMediaType

Указатель на структуру AM_MEDIA_TYPE , указывающую тип носителя, если формат изменился. Если этот формат не изменился, этот элемент имеет значение NULL.

pbBuffer

Указатель на образец буфера.

cbBuffer

Размер буфера образца в байтах.

Требования

Требование Значение
Заголовок strmif.h (включая Dshow.h)

См. также раздел

Структуры DirectShow