Configurazione di DMO codec

In questo argomento viene descritto il processo di configurazione delle DMO codec. Ogni codec ha procedure specifiche, ma le informazioni comuni a tutti sono descritte qui.

Configurazione di input e output DMO

Ogni DMO supporta tipi di input e output specifici. È possibile recuperare i tipi supportati per input e output chiamando IMediaObject::GetInputType per gli input e IMediaObject::GetOutputType per gli output. È possibile enumerare i formati supportati effettuando chiamate ripetute a entrambi i metodi, incrementando l'indice del tipo con ogni chiamata. Quando l'indice supera quello del tipo supportato finale, la chiamata restituisce DMO_E_NO_MORE_ITEMS.

Per i codec video, viene enumerato un solo tipo di output o di input per un determinato sottotipo multimediale. Per i codec audio, ogni singolo tipo supportato viene enumerato. Per altre informazioni sui tipi supportati per singoli codec, vedere Uso dell'audio e uso di video.

Dopo aver configurato i tipi di supporto per i flussi di input e output, impostarli chiamando rispettivamente IMediaObject::SetInputType e IMediaObject::SetOutputType . Entrambi questi metodi restituiscono DMO_E_TYPE_NOT_ACCEPTED se il tipo specificato non è valido.

Configurazione delle DMO codec per la codifica

Tutti i codec Audio e Video di Windows Media supportano un'ampia gamma di funzionalità di codifica. Queste funzionalità sono in genere configurate impostando le proprietà nell'oggetto DMO usando i metodi dell'interfaccia IPropertyBag . Alcune proprietà vengono configurate usando interfacce codec specializzate. Queste interfacce sono elencate per ogni codec nella sezione Codec Objects.

L'ordine generale delle operazioni per la configurazione di una codifica DMO è il seguente:

  1. Configurare le funzionalità codec in base alle esigenze usando i metodi di IPropertyBag.
  2. Usare le interfacce codec DMO per configurare funzionalità aggiuntive, se necessario.
  3. Configurare i tipi di input e output. L'ordine in cui devono essere configurati i tipi varia per i singoli codec. Per altre informazioni, vedere Uso dell'audio e uso di video.

Configurazione delle DMO codec per la decodifica

La decodifica è più semplice rispetto alla codifica, perché sono supportate meno funzionalità del decodificatore.

L'ordine generale delle operazioni per la configurazione di una decodifica DMO è il seguente:

  1. Configurare le funzionalità del decodificatore in base alle esigenze usando i metodi di IPropertyBag.
  2. Impostare il tipo di input sul tipo usato per l'output del codificatore.
  3. Configurare il tipo di output. I tipi di output supportati sono diversi per input diversi.

Nota

È importante usare lo stesso tipo di supporto per l'input del decodificatore usato per l'output del codificatore. Ciò è dovuto al fatto che i codec Audio e Video di Windows Media usano formati multimediali con dati aggiuntivi. Questi dati vengono aggiunti alla struttura a cui punta il membro pbFormat della struttura DMO_MEDIA_TYPE (in genere VIDEOINFOHEADER o WAVEFORMATEX). Per alcuni tipi, i dati aggiuntivi fanno parte del tipo di output del codificatore enumerato. Altri tipi richiedono l'aggiunta manuale di questi dati. Senza i dati di formato esteso, non è possibile decodificare il contenuto compresso.

 

Uso delle DMO codec