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.
Relaterade ämnen