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

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

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

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

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

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

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

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