Mengonfigurasi Ekstensi Unit Data

Sampel yang ditulis ke file ASF dapat berisi informasi tambahan selain dari sampel media itu sendiri. Informasi ini disertakan menggunakan ekstensi unit data. Untuk informasi selengkapnya tentang ekstensi unit data, lihat Ekstensi Unit Data.

Untuk menggunakan ekstensi unit data, Anda harus mengonfigurasi aliran di profil untuk menerimanya. Untuk mengonfigurasi ekstensi unit data untuk aliran, lakukan langkah-langkah berikut.

  1. Dapatkan penunjuk ke antarmuka IWMStreamConfig2 dengan memanggil metode QueryInterfaceIWMStreamConfig.
  2. Panggil IWMStreamConfig2::AddDataUnitExtension untuk mendaftarkan jenis ekstensi unit data untuk aliran.

Anda dapat memeriksa semua jenis ekstensi unit data yang saat ini terdaftar untuk aliran dengan memanggil IWMStreamConfig2::GetDataUnitExtensionCount untuk mengambil jumlah jenis ekstensi unit data terdaftar. Kemudian Anda dapat mengulang semua jenis menggunakan panggilan ke IWMStreamConfig2::GetDataUnitExtension untuk masing-masing.

Ekstensi unit data diberi ukuran saat dikonfigurasi untuk aliran. Banyak sistem ekstensi unit data menggunakan data yang berukuran konstan (biasanya struktur). Namun, Anda juga dapat mengonfigurasi ekstensi unit data agar berukuran variabel dengan mengatur ukuran ke 0xFFFF. Setiap ekstensi unit data yang ditetapkan pada waktu pengodean kemudian dapat memiliki ukuran apa pun antara 1 byte dan 65534 byte. Ekstensi unit data berukuran bervariasi juga disebut ekstensi unit data dinamis.

Keuntungan menggunakan ekstensi unit data dinamis adalah Anda dapat melampirkan data ekstensi sesuai kebutuhan. Jika Anda menentukan ekstensi unit data dengan ukuran yang ditetapkan, setiap sampel untuk aliran harus berisi data ekstensi dengan ukuran tersebut, bahkan jika Anda tidak memiliki data untuk beberapa sampel. Dengan ekstensi unit data dinamis, Anda dapat menghilangkan ekstensi unit data dari beberapa sampel, yang menghemat ruang dan mengurangi persyaratan bandwidth. Namun, jika ekstensi unit data berukuran variabel, objek baca tidak dapat memverifikasi data ekstensi yang diterima terhadap ukuran statis. Anda harus memverifikasi bahwa data ekstensi yang Anda terima valid, dan bukan distorsi berbahaya dari aliran bit.

Ekstensi unit data individual harus diatur pada sampel dengan menggunakan metode INSSBuffer3::SetProperty . Untuk informasi selengkapnya, lihat Mengatur Ekstensi Unit Data.

Mengonfigurasi Aliran