İngilizce dilinde oku

Aracılığıyla paylaş


Veri Birimi Uzantılarını Yapılandırma

[Windows Media Format 11 SDK bu sayfayla ilişkilendirilmiş özellik eski bir özelliktir. Kaynak Okuyucu ve Havuz Yazıcısıtarafından değiştirildi. Kaynak Okuyucu ve Havuz Yazıcısı Windows 10 ve Windows 11 için iyileştirilmiştir. Microsoft, yeni kodların mümkün olduğunda Windows Media Format 11 SDKyerine Source Reader ve Sink Writer kullanmasını kesinlikle önerir. Microsoft, mümkünse yeni API'leri kullanmak için eski API'leri kullanan mevcut kodun yeniden yazılmasını önerir.]

ASF dosyalarına yazılan örnekler, medya örneklerinin kendileri dışında ek bilgiler içerebilir. Bu bilgiler veri birimi uzantıları kullanılarak eklenir. Veri birimi uzantıları hakkında daha fazla bilgi için bkz. Veri Birimi Uzantıları.

Veri birimi uzantılarını kullanmak için profildeki akışı bunları kabul etmek üzere yapılandırmanız gerekir. Bir akış için veri birimi uzantısı yapılandırmak için aşağıdaki adımları gerçekleştirin.

  1. IWMStreamConfigarabiriminin QueryInterface yöntemini çağırarak IWMStreamConfig2 arabirimine bir işaretçi alın.
  2. Akış için bir veri birimi uzantısı türü kaydetmek için IWMStreamConfig2::AddDataUnitExtensionçağırın.

Kayıtlı veri birimi uzantısı türlerinin sayısını almak için IWMStreamConfig2::GetDataUnitExtensionCount çağırarak bir akış için kayıtlı olan tüm veri birimi uzantısı türlerini inceleyebilirsiniz. Ardından her biri için IWMStreamConfig2::GetDataUnitExtension çağrılarını kullanarak tüm türler arasında döngü yapabilirsiniz.

Veri birimi uzantılarına bir akış için yapılandırıldığında bir boyut atanır. Birçok veri birimi uzantısı sistemi, sabit bir boyut (genellikle bir yapı) olan verileri kullanır. Ancak, boyutu 0xFFFF olarak ayarlayarak veri birimi uzantılarınızı değişken boyutta olacak şekilde de yapılandırabilirsiniz. Kodlama zamanında atanan her veri birimi uzantısı 1 bayt ile 65534 bayt arasında herhangi bir boyutta olabilir. Değişken boyuttaki veri birimi uzantıları, dinamik veri birimi uzantıları olarak da adlandırılır.

Dinamik veri birimi uzantılarını kullanmanın avantajı, gerektiğinde uzantı verileri ekleyebilmenizdir. Ayarlanmış boyuta sahip bir veri birimi uzantısı tanımlarsanız, bazı örnekler için veriniz olmasa bile akış için her örnek bu boyutta uzantı verileri içermelidir. Dinamik veri birimi uzantılarıyla, alan tasarrufu sağlayan ve bant genişliği gereksinimlerini azaltan bazı örneklerden veri birimi uzantılarını atlayabilirsiniz. Ancak, veri birimi uzantıları değişken boyuttaysa, okuma nesnesi alınan uzantı verilerini statik bir boyuta göre doğrulayamaz. Aldığınız uzantı verilerinin geçerli olduğunu ve bit akışında kötü amaçlı bozulma olmadığını doğrulamanız gerekir.

Tek tek veri birimi uzantıları, INSSBuffer3::SetProperty yöntemi kullanılarak örneklerde ayarlanmalıdır. Daha fazla bilgi için bkz. Veri Birimi Uzantılarını Ayarlama.

Akış yapılandırma