WM ASF-skrivfilter (DirectShow)
[Funktionen som är associerad med den här sidan, DirectShow, är en äldre funktion. Det har ersatts av MediaPlayer, IMFMediaEngineoch Audio / Video Capture i Media Foundation. Dessa funktioner har optimerats för Windows 10 och Windows 11. Microsoft rekommenderar starkt att ny kod använder MediaPlayer, IMFMediaEngine och Audio/Video Capture i Media Foundation i stället för DirectShow, när det är möjligt. Microsoft föreslår att befintlig kod som använder äldre API:er skrivs om för att använda de nya API:erna om möjligt.]
WM ASF Writer är ett omslutningsfilter för skrivarobjektet som medföljer Windows Media™ Format SDK. Filtret accepterar ett variabelt antal indataströmmar och skapar en ASF-fil (Advanced Systems Format). Filtret hanterar all komprimering och multiplexering (även om komprimeringsmekanismen kan kringgås). Du kan använda WM ASF Writer i olika scenarier som digital videoinspelning (DV), ljudåterkomprimering och konvertering av Audio-Video Interleaved (AVI) eller MPEG-multimediafiler för nätverksströmning. Det här filtret är det enda sättet att skapa Microsoft® Windows Media™ Audio- och Windows Media Video-filer i Microsoft DirectShow.
Mer information finns i Skapa ASF-filer i DirectShow.
Etikett | Värde |
---|---|
Filtergränssnitt |
IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IConfigAsfWriter2, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPagesDessutom, filtret exponerar följande Windows Media Format SDK-gränssnitt: IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2 |
Mediatyper för indatastift | Beror på ASF-profilen. Vanligtvis okomprimerade ljud- och videotyper, även om filtret accepterar komprimerade typer om de matchar ASF-profilen. |
Pin-gränssnitt för indata |
IAMStreamConfig, IAMWMBufferPass, IMemInputPin, IPin, IServiceProviderDessutom, pin-koden exponerar följande Windows Media Format SDK-gränssnitt: IWMStreamConfig2 (via IServiceProvider) |
Mediatyper för utdatastift | Inte tillämpligt. |
Pin-gränssnitt för utdata | Inte tillämpligt. |
Filtrera CLSID | CLSID_WMAsfWriter |
Egenskapssidans CLSID | CLSID_AsfWriterProperties |
Genomförbar | Qasf.dll |
Merit | MERIT_DO_NOT_USE |
filterkategori | Inte angivet |
Anmärkningar
Filtret kräver Windows Media Format Software Development Kit (SDK) och dess underliggande beroenden.
Antalet pins för indata i filtret beroende på profil- eller profilidentifieraren för ASF-strömmen.
Indatastiften stöder en metod från gränssnittet IAMStreamConfig: IAMStreamConfig::GetFormat. Alla andra metoder returnerar E_NOTIMPL. Anropa metoden GetFormat för att fråga pin-kodens målkomprimeringsformat, som definieras av den aktuella ASF-profilen. Använd gränssnittet IConfigAsfWriter för att ange profilen.
Du kan använda filtrets IServiceProvider--gränssnitt för att hämta en pekare till gränssnittet IWMWriterAdvanced2, som definieras i Windows Media Format SDK. Du kan använda gränssnittet IWMWriterAdvanced2 för att styra videoavflätning när källvideon är sammanflätad. Om du vill ange deinterlacing-läget anropar du IWMWriterAdvanced2::SetInputSetting. För parametern dwInputNum använder du det nollbaserade indexet för pin-koden för videoindata som räknas upp av IEnumPins--gränssnittet.
I följande exempel visas hur du frågar efter det här gränssnittet:
// Assume that pAsfWriter is a valid IBaseFilter pointer.
IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;
hr = pAsfWriter->QueryInterface(
IID_IServiceProvider,
(void**)&pProvider
);
if (SUCCEEDED(hr))
{
hr = pProvider->QueryService(
IID_IWMWriterAdvanced2,
IID_IWMWriterAdvanced2,
(void**)&pWMWA2
);
pProvider->Release();
if (SUCCEEDED(hr))
{
// Use pWMWA2. (Not shown.)
pWMWA2->Release();
}
}
Program bör inte använda någon av de IWMWriterAdvanced metoder som IWMWriterAdvanced2-gränssnittet ärver. Att anropa dessa metoder kan störa filtrets funktion.
Det enda filskrivningsläget som stöds av det här filtret är AM_FILE_OVERWRITE. Se IFileSinkFilter2::GetMode.
När Windows Media Format SDK-körningen skickar WMT_STATUS meddelanden till WM ASF Writer-filtret vidarebefordrar filtret dem som EC_WMT_EVENT händelser.
Relaterade ämnen