Dela via


Media Source Object Model

I det här avsnittet beskrivs objektmodellen för mediekällor i Microsoft Media Foundation. En mediekälla måste implementera två objekt:

  • En presentationsbeskrivning som beskriver källans innehåll, inklusive antalet strömmar och formatet för varje ström. Mer information om presentationsbeskrivningar finns i presentationsbeskrivningar.
  • En eller flera medieströmmar som genererar källdata.

Källan skapar inte strömmarna förrän uppspelningen startar.

Media Source Interfaces

En mediekälla måste exponera följande gränssnitt via QueryInterface.

Gränssnitt Beskrivning
IMFMediaSource Krävs för alla mediekällor.
IMFMediaEventGenerator Krävs för alla mediekällor. Gränssnittet IMFMediaSource ärver det här gränssnittet.

 

Alternativt kan en mediekälla implementera IMFGetService--gränssnittet och implementera något av följande gränssnitt som tjänster:

Tjänstgränssnitt Beskrivning
IMFRateControl Styr uppspelningshastigheten.
IMFRateSupport Rapporterar det intervall av uppspelningsfrekvenser som stöds.
IMFQualityAdvise Gör att kvalitetshanteraren kan justera ljud- eller videokvaliteten.
IMFMetadataProvider Tillhandahåller metadata.

 

Om mediekällan kan spela med andra priser än normal hastighet (1,0) bör den exponera tjänsten för frekvenskontroll (IMFRateControl och IMFRateSupport). Annars antas det att källan endast stöder uppspelning med normal hastighet. Mer information finns i Implementering av hastighetskontroll.

Mer information om tjänstgränssnitt och IMFGetServicefinns i Service Interfaces.

Media Stream-gränssnitt

Medieströmmar måste implementera följande gränssnitt.

Gränssnitt Beskrivning
IMFMediaStream Krävs för alla medieströmmar.
IMFMediaEventGenerator Krävs för alla medieströmmar. Gränssnittet IMFMediaStream ärver det här gränssnittet.

 

För närvarande definieras inga tjänstgränssnitt för medieströmmar.

mediekällor