Tipos de mídia completos e parciais
Este tópico descreve a diferença entre tipos de mídia completos e tipos de mídia parcial.
Tipos de mídia completos
Um tipo de mídia completo é aquele que define totalmente o formato do fluxo de mídia. Dado um tipo de mídia completo, um componente de pipeline pode analisar os dados de fluxo associados ao tipo de mídia, sem ambiguidade.
Para formatos não compactados, os tópicos a seguir definem os atributos necessários para um tipo de mídia completo:
Para fluxos compactados (ou codificados), a definição de um tipo de mídia completo é definida pelo codec. No entanto, se quaisquer atributos de tipo não compactados forem conhecidos para o fluxo compactado, esses valores devem ser incluídos no tipo de mídia para o fluxo compactado. Por exemplo, se o tamanho do quadro for conhecido, defina o atributo MF_MT_FRAME_SIZE no tipo de mídia, mesmo que tecnicamente um fluxo compactado não tenha um tamanho de quadro.
Tipos parciais de mídia
Um tipo de mídia parcial não possui um ou mais dos atributos necessários para um tipo de mídia completo. Ao enumerar possíveis tipos de mídia, um componente do Microsoft Media Foundation pode deixar um valor desdefinido, para indicar que ele pode manipular qualquer valor. Por exemplo, um processador de vídeo pode deixar o atributo MF_MT_FRAME_RATE desdefinido, para indicar que ele pode lidar com qualquer taxa de quadros e executará uma conversão de taxa de quadros, se necessário.
Se você criar um tipo de mídia parcial, ainda deverá incluir o máximo de informações que souber. No entanto, um tipo de mídia não deve incluir informações incertas. É melhor que a informação falte do que esteja errada.
No mínimo, um tipo de mídia parcial deve incluir apenas dois atributos: MF_MT_MAJOR_TYPE e MF_MT_SUBTYPE.
Às vezes, os componentes do Media Foundation devem fornecer tipos de mídia completos:
- As fontes de mídia devem fornecer tipos de saída completos.
- Os descodificadores devem fornecer tipos de saída completos, depois de definido o tipo de entrada. Antes do tipo de entrada ser definido, um decodificador pode fornecer um tipo de saída parcial.
- Os codificadores devem fornecer tipos de entrada completos, depois que o tipo de saída é definido. Antes do tipo de saída ser definido, um codificador pode fornecer um tipo de entrada parcial.
Tópicos relacionados