Condividi tramite


Segmenti di busta

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Una curva dei parametri è costituita da uno o più segmenti di busta, definiti usando la struttura MP_ENVELOPE_SEGMENT . Questa struttura contiene le informazioni seguenti:

  • Ora di inizio e fine.
  • Valori iniziali e finali.
  • Tipo di curva (lineare, quadrato e così via).
  • Flag facoltativi, descritti brevemente.

Il client aggiunge segmenti di busta a un parametro chiamando il metodo IMediaParams::AddEnvelope e passando una matrice di strutture MP_ENVELOPE_SEGMENT . Il client deve ordinare i segmenti in ordine di tempo crescente prima di chiamare il metodo. Come il DMO elabora i dati, è possibile immaginare il parametro che viaggia su ogni segmento di busta, come un'auto che guida su una serie di colline. Il metodo IMediaParams::GetParam restituisce il valore più recente.

Due segmenti adiacenti possono avere un divario tra di essi. Durante le lacune, il parametro mantiene il valore precedente, come segue:

  • Prima del primo segmento, il valore è il valore neutrale.
  • Tra segmenti, il valore è il valore finale del segmento precedente.
  • Dopo l'ultimo segmento, il valore rimane al valore finale di tale segmento.
  • Se il client scarica il DMO, il valore viene ripristinato al valore neutrale.

È possibile modificare un segmento impostando uno dei flag seguenti:

  • MPF_ENVLP_BEGIN_CURRENTVAL. DMO usa il valore più recente del parametro come valore iniziale per il segmento. Questo potrebbe essere il valore neutrale o il valore finale del segmento precedente. DMO ignora il membro valStart della struttura MP_ENVELOPE_SEGMENT .
  • MPF_ENVLP_BEGIN_NEUTRALVAL. DMO usa il valore neutrale del parametro come valore iniziale per il segmento. Ignora valStart.

È possibile pensare a questi flag come afferrare il punto iniziale del segmento e spostarlo verso l'alto o verso il basso, mentre il valore finale rimane fisso. Il segmento "estende" di conseguenza.

Parametri multimediali