Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Został zastąpiony przez czytnik źródeł i składnik zapisywania ujścia. czytnik źródeł i zapisywacz ujść zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał czytnika źródeł i modułu zapisywania ujścia zamiast zestawu SDK windows Media Format 11, jeśli jest to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Próbki zapisane w plikach ASF mogą zawierać dodatkowe informacje oprócz samych próbek multimedialnych. Te informacje są uwzględniane przy użyciu rozszerzeń jednostek danych. Aby uzyskać więcej informacji na temat rozszerzeń jednostek danych, zobacz Rozszerzenia jednostek danych.
Aby korzystać z rozszerzeń jednostek danych, należy skonfigurować strumień w profilu, aby je akceptował. Aby skonfigurować rozszerzenie jednostki danych dla strumienia, wykonaj następujące kroki.
- Uzyskaj wskaźnik do interfejsu IWMStreamConfig2, wywołując metodę QueryInterfaceIWMStreamConfig.
- Wywołaj IWMStreamConfig2::AddDataUnitExtension, aby zarejestrować typ rozszerzenia jednostki danych dla strumienia.
Możesz zbadać wszystkie typy rozszerzeń jednostki danych aktualnie zarejestrowane dla strumienia, wywołując IWMStreamConfig2::GetDataUnitExtensionCount, aby pobrać liczbę zarejestrowanych typów rozszerzeń jednostek danych. Następnie można wykonać pętlę dla wszystkich typów przy użyciu wywołań do IWMStreamConfig2::GetDataUnitExtension dla każdego z nich.
Rozszerzenia jednostek danych są przypisywane do rozmiaru skonfigurowanego dla strumienia. Wiele systemów rozszerzeń jednostek danych używa danych o stałym rozmiarze (zwykle strukturze). Można jednak również skonfigurować rozszerzenia jednostek danych tak, aby mieć zmienny rozmiar, ustawiając rozmiar na 0xFFFF. Każde rozszerzenie jednostki danych przypisane w czasie kodowania może mieć dowolny rozmiar z zakresu od 1 bajtów do 65534 bajtów. Rozszerzenia jednostek danych o niezmiennym rozmiarze są również nazywane dynamicznymi rozszerzeniami jednostek danych.
Zaletą korzystania z dynamicznych rozszerzeń jednostek danych jest możliwość dołączania danych rozszerzeń w razie potrzeby. Jeśli zdefiniujesz rozszerzenie jednostki danych z określoną wielkością, każda próbka strumienia musi zawierać dane rozszerzenia tej wielkości, nawet jeśli dla niektórych próbek nie masz danych. Dzięki dynamicznym rozszerzeniu jednostek danych można pominąć rozszerzenia jednostek danych z niektórych próbek, co pozwala zaoszczędzić miejsce i zmniejszyć wymagania dotyczące przepustowości. Jeśli jednak rozszerzenia jednostek danych mają zmienny rozmiar, obiekt odczytu nie może zweryfikować odebranych danych rozszerzenia względem rozmiaru statycznego. Należy sprawdzić, czy otrzymane dane rozszerzenia są prawidłowe, a nie złośliwe zniekształcenia strumienia bitowego.
Poszczególne rozszerzenia jednostek danych muszą być ustawiane na próbkach przy użyciu metody INSSBuffer3::SetProperty. Aby uzyskać więcej informacji, zobacz Setting Data Unit Extensions.
Tematy pokrewne