Delen via


Bronlezer

De bronlezer is een alternatief voor het gebruik van de Media Session en de Microsoft Media Foundation-pijplijn voor het verwerken van mediagegevens.

Waarom de bronlezer gebruiken?

Media Foundation biedt een pijplijn die is geoptimaliseerd voor afspelen. De pijplijn is end-to-end, wat betekent dat de gegevensstroom van de bron (zoals een videobestand) helemaal naar het doel wordt verwerkt (zoals de grafische weergave). Als u de gegevens echter wilt lezen of wijzigen terwijl deze door de pijplijn gaan, moet u een aangepaste invoegtoepassing schrijven. Hiervoor is een redelijk grondige kennis van de Media Foundation-pijplijn vereist. Voor bepaalde taken is het maken van een nieuwe invoegtoepassing te veel overhead. De bronlezer is ontworpen voor dit type situatie, wanneer u de onbewerkte gegevens uit een bron wilt ophalen zonder de overhead van de hele pijplijn.

Intern bevat de bronlezer een aanwijzer naar een mediabron. Een mediabron is een Media Foundation-object dat mediagegevens genereert van een externe bron, zoals een mediabestand of een apparaat voor het vastleggen van video's. De bronlezer beheert alle methode-aanroepen naar de mediabron. (Zie Mediabronnenvoor meer informatie over mediabronnen.)

Als de mediabron gecomprimeerde gegevens levert, kunt u de bronlezer gebruiken om de gegevens te decoderen. In dat geval laadt de bronlezer de juiste decoder en beheert de gegevensstroom tussen de mediabron en de decoder. De bronlezer kan ook beperkte videoverwerking uitvoeren: kleurconversie van YUV naar RGB-32 en softwaredeinterlacing, hoewel deze bewerkingen niet worden aanbevolen voor realtime videorendering. In de volgende afbeelding ziet u dit proces.

diagram van de bronlezer

De bronlezer verzendt de gegevens niet naar een bestemming; het is aan de toepassing om de gegevens te gebruiken. De bronlezer kan bijvoorbeeld een videobestand lezen, maar de video wordt niet weergegeven op het scherm. De bronlezer beheert ook geen presentatieklok, verwerkt tijdsproblemen of synchroniseert video met audio.

Overweeg het gebruik van de bronlezer wanneer:

  • U wilt gegevens ophalen uit een mediabestand zonder dat u zich zorgen hoeft te maken over de onderliggende bestandsstructuur.
  • U wilt gegevens ophalen van een audio- of video-opnameapparaat.
  • Uw gegevensverwerkingstaken zijn niet tijdgevoelig of u hebt geen presentatieklok nodig.
  • U hebt al een mediapijplijn die niet is gebaseerd op Media Foundation en u wilt de Media Foundation-mediabronnen opnemen in uw eigen pijplijn.

De bronlezer wordt niet aanbevolen in de volgende situaties:

  • Voor beveiligde inhoud. De bronlezer biedt geen ondersteuning voor Digital Rights Management (DRM).
  • Als u de details van de onderliggende bestandsstructuur belangrijk vindt. De bronlezer verbergt dat type details.

In deze sectie

Onderwerp Beschrijving
De bronlezer gebruiken om mediagegevens te verwerken
In dit onderwerp wordt beschreven hoe u de bronlezer gebruikt om mediagegevens te verwerken.
De bronlezer gebruiken in de asynchrone modus
In dit onderwerp wordt beschreven hoe u de bronlezer gebruikt in de asynchrone modus.
Zelfstudie: Audio- decoderen
Deze zelfstudie laat zien hoe u de bronlezer gebruikt om audio van een mediabestand te decoderen en de audio naar een WAVE-bestand te schrijven.

 

Media Foundation Architecture

Programmeerhandleiding voor Media Foundation

IMFSourceReader-