Configurazione delle estensioni di unità dati
[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita dal Lettore di Origine e dallo Scrittore Sink . lettore di origine e sink writer sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice utilizzi il lettore di origine e lo scrittore di destinazione invece di Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Gli esempi scritti nei file ASF possono contenere informazioni aggiuntive oltre agli esempi multimediali stessi. Queste informazioni sono incluse usando le estensioni delle unità dati. Per altre informazioni sulle estensioni delle unità dati, vedere data unit extensions.
Per usare le estensioni delle unità dati, è necessario configurare il flusso nel profilo per accettarle. Per configurare un'estensione di unità dati per un flusso, seguire questa procedura.
- Ottenere un puntatore all'interfacciaIWMStreamConfig2chiamando il metodo queryinterface di IWMStreamConfig.
- Chiamare IWMStreamConfig2::AddDataUnitExtension per registrare un tipo di estensione dell'unità dati per il flusso.
È possibile esaminare tutti i tipi di estensione delle unità dati attualmente registrati per un flusso chiamando IWMStreamConfig2::GetDataUnitExtensionCount per recuperare il numero di tipi di estensione di unità dati registrati. È quindi possibile scorrere tutti i tipi usando chiamate a IWMStreamConfig2::GetDataUnitExtension per ognuno di essi.
Alle estensioni delle unità dati vengono assegnate dimensioni quando configurate per un flusso. Molti sistemi di estensione unità dati usano dati di dimensioni costanti (in genere una struttura). Tuttavia, è anche possibile configurare le estensioni delle unità dati in modo che siano di dimensioni variabili impostando le dimensioni su 0xFFFF. Ogni estensione dell'unità dati assegnata in fase di codifica può quindi essere di qualsiasi dimensione compresa tra 1 byte e 65534 byte. Le estensioni delle unità dati di dimensioni variabili sono dette anche estensioni di unità dati dinamiche.
Il vantaggio dell'uso delle estensioni delle unità dati dinamiche è la possibilità di collegare i dati dell'estensione in base alle esigenze. Se si definisce un'estensione di unità dati con dimensioni impostate, ogni campione per il flusso deve contenere dati di estensione di tale dimensione, anche se non sono presenti dati per alcuni campioni. Con le estensioni delle unità dati dinamiche, è possibile omettere le estensioni delle unità dati da alcuni esempi, risparmiando spazio e riducendo i requisiti di larghezza di banda. Tuttavia, se le estensioni delle unità dati sono di dimensioni variabili, l'oggetto di lettura non può verificare i dati di estensione ricevuti rispetto a una dimensione statica. È necessario verificare che i dati di estensione ricevuti siano validi e non distorsioni dannose del flusso di bit.
Le singole estensioni delle unità dati devono essere impostate su esempi usando il metodo INSSBuffer3::SetProperty. Per altre informazioni, vedere Impostazione delle estensioni delle unità dati.
Argomenti correlati