Filtro di divisione AVI

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine 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, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il filtro di divisione AVI viene usato per la riproduzione di file AVI. Accetta i dati in formato AVI e lo divide nei flussi costitutivi per un'ulteriore elaborazione e/o rendering.

Etichetta Valore
Interfacce di filtro IAMMediaContent, IBaseFilter, IPersistMediaPropertyBag
Tipi di supporti di aggiunta di input MEDIATYPE_Stream, MEDIASUBTYPE_Avi
Interfacce pin di input IPin, IQualityControl
Tipi di supporti di pin di output In genere MEDIATYPE_Video o MEDIATYPE_Audio. Il tipo esatto dipende dal contenuto del file, dal fatto che il file sia compresso e quale codec è stato usato.
Interfacce pin di output IMediaPosition, IMediaSeeking, IPin, IPropertyBag, IQualityControl
Filtro CLSID CLSID_AviSplitter
CLSID della pagina delle proprietà Nessuna pagina delle proprietà.
File eseguibile quartz.dll
Merito MERIT_NORMAL
Categoria filtro CLSID_LegacyAmFilterCategory

 

Commenti

Questo filtro è in genere connesso al filtro Origine file asincrona sul relativo pin di input. Può connettersi a qualsiasi filtro il cui pin di output supporta IAsyncReader e offre il tipo di supporto corretto al pin di input del filtro AVI Splitter.

I pin di output nel splitter AVI supportano il metodo IPropertyBag::Read per la lettura delle proprietà da singoli flussi. Attualmente, viene definita la proprietà seguente.

Proprietà Descrizione
name Restituisce il nome del flusso, tratto dal 'strn' blocco nel file AVI. Se questo blocco è assente, il metodo Read restituisce E_INVALIDARG.

 

Il metodo IPropertyBag::Write restituisce E_FAIL. Il filtro MUX AVI supporta IPropertyBag::Write per salvare le proprietà del flusso in un file AVI.

Avi Splitter non consente ai filtri downstream di usare il proprio allocatore.

La durata di interleaving nel file determina la quantità di memoria allocata dal splitter AVI per elaborarla. Un file interleaved in un secondo blocchi richiederà molto più memoria per l'elaborazione di un file la cui durata di interleave è impostata su uno o due fotogrammi. Nei computer moderni, questo non è in genere un problema a meno che non si eseguano più istanze di AVI Splitter contemporaneamente.

Riercare

Se il file contiene un flusso video, AVI Splitter supporta la ricerca in base al numero di fotogramma. Per abilitare la ricerca basata su frame, chiamare IMediaSeeking::SetTimeFormat in Filter Graph Manager con il valore TIME_FORMAT_FRAME.

Se il file contiene un flusso audio, AVI Splitter supporta la ricerca in base al numero di campione. Per abilitare la ricerca basata su campioni, chiamare SetTimeFormat in Filter Graph Manager con il valore TIME_FORMAT_SAMPLE.

In entrambi i casi, il pin di output per tale flusso deve essere connesso a un filtro del renderer.

Filtri DirectShow