Använda dataenhetstillägg (Microsoft Media Foundation)
Windows Media Audio- och Video codecs är utformade för att fungera bra med ASF-containern (Advanced Systems Format). ASF är det strukturerade format som används för WMA-filer (Windows Media Audio) och Windows Media Video-filer (WMV). Det är ett utökningsbart format som är utformat för strömmande data. En av de ovanliga egenskaperna hos ASF-strukturen är möjligheten att koppla metadata till enskilda exempel och bädda in dessa data med exemplen i bitströmmen. Ett objekt med metadata som lagras på det här sättet kallas för ett enhetstillägg, eller exempeltillägg.
Ett dataenhetstillägg kan innehålla information som krävs av kodaren, avkodaren eller spelarprogrammet. De flesta av de dataenhetstilläggstyper som implementeras i Windows Media 9-serien med codecs innehåller data som är avsedda för programmet som avkodar och återger mediet. Du kan till exempel underhålla SMPTE-tidskoder från källdata genom att lägga till dem som tillägg för dataenheter. Följande codec-funktioner kräver dock tillägg för dataenheter:
- infogning av framtvingad nyckelram
- Flätad videokodning
- Svårigheten att använda dataenhetens tillägg när du kommer åt koden direkt är mekanismen genom vilken objektet tar emot tilläggsdata. Detta uppnås genom objekten i Windows Media Format SDK med hjälp av buffertobjekt som är utformade för att stödja den här funktionen. Vi rekommenderar att du använder Windows Media Format SDK för att aktivera de codec-funktioner som kräver dataenhetstillägg, men du kan få dessa funktioner att fungera med de fristående codec-objekten.
Skicka utökade exempel till Codec-objekten
Windows Media Format SDK använder buffertobjekt som exponerar INSSBuffer- gränssnitt. Det senaste gränssnittet är INSSBuffer4. Om du vill skicka exempel till ett codec-objekt med dataenhetstillägg måste du använda ett buffertobjekt som implementerar IMediaBuffer- eller IMFMediaBuffer--gränssnittet och gränssnittet INSSBuffer. Du kan använda buffertobjekt som skapats av Windows Media Format SDK eller Microsoft Media Foundation för att åstadkomma detta, eller så kan du skapa en egen buffertklass som uppfyller kraven. Om du vill skapa en egen buffertklass måste du följa metodprototyperna för INSSBuffer- gränssnitt. Dessa gränssnittsdefinitioner finns i huvudfilen wmsbuffer.h som är installerad med Windows Media Format SDK.
Relaterade ämnen