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


Произвольные и предварительно сжатые входные данные потока

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

Только входные данные, которые должны быть сжаты одним из кодеков Windows Media, имеют несколько возможных входных данных. Другие типы возможных входных данных являются произвольными и предварительно сжатыми входными данными. Требования к входным форматам для этих типов описаны в этом разделе.

Произвольные потоковые входные данные

Входные данные для произвольных типов потоков совпадают с форматами потоков, описанными в профиле. Для этих типов не нужно задавать форматы входных данных.

Предварительно сжатые входные данные потока

При копировании потока из одного файла в другой передайте образцы, которые уже сжаты. В этом случае необходимо задать для объекта входных свойств значение NULL, чтобы сообщить записи, что не требуется проверять данные, которые вы передаете. Чтобы задать входной формат NULL, вызовите IWMWriter::SetInputProps и передайте NULL в качестве второго параметра. При вызове этого метода с параметром NULL необходимо выполнить вызов перед вызовом BeginWriting.

При использовании предварительно сжатых потоков необходимо вручную скопировать данные кодека в заголовок файла перед записью. Чтобы получить сведения о кодеке, вызовите IWMHeaderInfo2::GetCodecInfoCount и IWMHeaderInfo2::GetCodecInfo, чтобы перечислить кодеки, связанные с файлом в средстве чтения. Выберите сведения кодека, соответствующие конфигурации потока предварительно заданного потока. Затем задайте сведения кодека в средстве записи, вызвав IWMHeaderInfo3::AddCodecInfo, передав сведения, полученные от средства чтения.

работа с входными данными