Tipi di supporti completi e parziali

Questo argomento descrive la differenza tra tipi multimediali completi e tipi di supporti parziali.

Tipi di supporti completi

Un tipo di supporto completo è uno che definisce completamente il formato del flusso multimediale. Dato un tipo di supporto completo, un componente della pipeline può analizzare i dati di flusso associati al tipo di supporto, senza ambiguità.

Per i formati non compressi, gli argomenti seguenti definiscono gli attributi necessari per un tipo di supporto completo:

Per i flussi compressi (o codificati), la definizione di un tipo di supporto completo è definita dal codec. Tuttavia, se gli attributi di tipo non compressi sono noti per il flusso compresso, questi valori devono essere inclusi nel tipo di supporto per il flusso compresso. Ad esempio, se la dimensione del frame è nota, impostare l'attributo MF_MT_FRAME_SIZE sul tipo di supporto, anche se tecnicamente un flusso compresso non ha una dimensione del frame.

Tipi di supporti parziali

Un tipo di supporto parziale manca di uno o più degli attributi necessari per un tipo di supporto completo. Quando enumera i tipi di supporti possibili, un componente Microsoft Media Foundation può lasciare un valore non impostato, per indicare che può gestire qualsiasi valore. Ad esempio, un processore video potrebbe lasciare l'attributo MF_MT_FRAME_RATE unset, per indicare che può gestire qualsiasi frequenza di fotogrammi e eseguirà una conversione a frequenza di fotogrammi se necessario.

Se si crea un tipo di supporto parziale, è comunque necessario includere tutte le informazioni che si conosce. Tuttavia, un tipo di supporto non deve includere informazioni incerte. È meglio che le informazioni non siano sbagliate.

Almeno, un tipo di supporto parziale deve includere solo due attributi: MF_MT_MAJOR_TYPE e MF_MT_SUBTYPE.

A volte i componenti di Media Foundation devono fornire tipi multimediali completi:

  • Le origini multimediali devono fornire tipi di output completi.
  • I decodificatori devono fornire tipi di output completi, dopo aver impostato il tipo di input. Prima che il tipo di input sia impostato, un decodificatore potrebbe fornire un tipo di output parziale.
  • I codificatori devono fornire tipi di input completi, dopo aver impostato il tipo di output. Prima che il tipo di output sia impostato, un codificatore potrebbe fornire un tipo di input parziale.

Tipi di supporti