Dela via


Källläsare

Källläsaren är ett alternativ till att använda Media Session och Microsoft Media Foundation-pipelinen för att bearbeta mediedata.

Varför ska du använda källläsaren?

Media Foundation tillhandahåller en pipeline som är optimerad för uppspelning. Pipelinen är från slutpunkt till slutpunkt, vilket innebär att den hanterar dataflödet från källan (till exempel en videofil) hela vägen till målet (till exempel grafikvisningen). Men om du vill läsa eller ändra data när de går igenom pipelinen måste du skriva ett anpassat plugin-program. Det kräver en ganska djup kunskap om Media Foundation-pipelinen. För vissa uppgifter är det för mycket omkostnader att skapa ett nytt plugin-program. Källläsaren är utformad för den här typen av situation när du vill hämta rådata från en källa utan att hela pipelinen behöver användas.

Internt innehåller källläsaren en pekare till en mediekälla. En mediekälla är ett Media Foundation-objekt som genererar mediedata från en extern källa, till exempel en mediefil eller en videoinspelningsenhet. Källläsaren hanterar alla metodanrop till mediekällan. (Mer information om mediekällor finns i Media Sources.)

Om mediekällan levererar komprimerade data kan du använda källläsaren för att avkoda data. I så fall läser källläsaren in rätt avkodare och hanterar dataflödet mellan mediekällan och avkodaren. Källläsaren kan också utföra viss begränsad videobearbetning: färgkonvertering från YUV till RGB-32 och programdeinterlacing, även om dessa åtgärder inte rekommenderas för videorendering i realtid. Följande bild illustrerar den här processen.

diagram över källläsaren

Källläsaren skickar inte data till ett mål. det är upp till programmet att använda data. Källläsaren kan till exempel läsa en videofil, men videon återges inte på skärmen. Källläsaren hanterar inte heller en presentationsklocka, hanterar tidsproblem eller synkroniserar video med ljud.

Överväg att använda källläsaren när:

  • Du vill hämta data från en mediefil utan att behöva bekymra dig om den underliggande filstrukturen.
  • Du vill hämta data från en ljud- eller videoinspelningsenhet.
  • Dina databehandlingsuppgifter är inte tidskänsliga eller så behöver du ingen presentationsklocka.
  • Du har redan en mediepipeline som inte är baserad på Media Foundation, och du vill införliva Media Foundation-mediekällorna i din egen pipeline.

Källläsaren rekommenderas inte i följande situationer:

  • För skyddat innehåll. Källläsaren stöder inte digital rights management (DRM).
  • Om du bryr dig om informationen om den underliggande filstrukturen. Källläsaren döljer den typen av information.

I det här avsnittet

Ämne Beskrivning
Använda källläsaren för att bearbeta mediedata
Det här avsnittet beskriver hur du använder källläsaren för att bearbeta mediedata.
Använda källläsaren i asynkront läge
I det här avsnittet beskrivs hur du använder källläsaren i asynkront läge.
Självstudie: Avkoda ljud
Den här självstudien visar hur du använder källläsaren för att avkoda ljud från en mediefil och skriva ljudet till en WAVE-fil.

 

Media Foundation Architecture

programmeringsguide för Media Foundation

IMFSourceReader