Compartilhar via


Método IAMTimelineGroup::SetSmartRecompressFormat

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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 Audio/Video Capture in 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.]

Observação

[Preterido. Essa API pode ser removida de versões futuras do Windows.]

 

O SetSmartRecompressFormat método especifica um formato de compactação de vídeo a ser usado para recompactação inteligente.

Não há suporte para recompactação inteligente para grupos de áudio.

Sintaxe

HRESULT SetSmartRecompressFormat(
   long *pFormat
);

Parâmetros

pFormat

Ponteiro para uma estrutura que descreve o formato de compactação. Atualmente, somente a estrutura SCompFmt0 é válida. Você deve converter esse parâmetro em um ponteiro do tipo long.

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Antes de chamar esse método, chame o método IAMTimelineGroup::SetMediaType no mesmo grupo para especificar um formato descompactado.

Se o SetSmartRecompressFormat método for bem-sucedido, você poderá usar o Smart Render Engine para gerar um fluxo de vídeo compactado. O vídeo compactado terá a largura, a altura e a taxa de quadros especificadas no parâmetro pFormat . Esses valores substituirão aqueles fornecidos para o formato descompactado no método SetMediaType . No entanto, para obter os benefícios da recompactação inteligente, os dois formatos devem corresponder. Em outras palavras, os formatos compactados e descompactados devem ter a mesma altura, largura e taxa de quadros.

Se o Mecanismo de Renderização Inteligente não conseguir produzir o formato compactado, ele produzirá um fluxo de vídeo descompactado. Se isso ocorrer, o Smart Render Engine relatará um erro de renderização DEX_IDS_CANT_FIND_COMPRESSOR durante o método IRenderEngine::ConnectFrontEnd . O aplicativo pode capturar esse erro por meio do método IAMErrorLog::LogError . (Para obter mais informações, consulte Erros de log e erros de renderização.)

O formato de recompactação inteligente não é persistente. Se um aplicativo usar recompactação inteligente, ele deverá definir o formato de recompactação sempre que carregar um arquivo de projeto.

Observação

O arquivo de cabeçalho Qedit.h não é compatível com cabeçalhos Direct3D posteriores à versão 7.

 

Observação

Para obter qedit.h, baixe o SDK do Microsoft Windows Update para Windows Vista e .NET Framework 3.0. O Qedit.h não está disponível no SDK do Microsoft Windows para Windows 7 e .NET Framework 3.5 Service Pack 1.

 

Requisitos

Requisito Valor
parâmetro
Qedit.h
Biblioteca
Strmiids.lib

Confira também

IAMTimelineGroup Interface

Códigos de erro e êxito

Mecanismo de Renderização Inteligente

Gravando um projeto em um arquivo