Por que um decodificador não aceita o formato de entrada que eu defina?
Há muitos motivos pelos quais um decodificador pode rejeitar um formato. O mais comum são dados de formato estendido ausentes ou incorretos. Os dados de formato estendido são informações específicas do codec que são acrescentadas à estrutura que descreve o tipo de mídia.
Quando você enumera um tipo de saída usando um objeto de codificador, o membro pbFormat da estrutura DMO_MEDIA_TYPE apontará para uma estrutura WAVEFORMATEX . Essa estrutura tem dados de formato estendido acrescentados a ela e o tamanho desses dados é armazenado no membro WAVEFORMATEX.cbSize . Independentemente do contêiner usado para armazenar os dados compactados, você deve persistir a estrutura WAVEFORMATEX e usá-la no tipo de entrada para o decodificador. Sem os dados de formato estendido, o decodificador não pode descompactar o conteúdo.
Para formatos de vídeo, você deve recuperar manualmente os dados de formato estendido e acrescentá-los à estrutura VIDEOINFOHEADER . Para obter mais informações, consulte Usando dados privados do Video Codec.
Tópicos relacionados