Metode IKsInterfaceHandler::KsProcessMediaSamples (ksproxy.h)

Metode KsProcessMediaSamples memproses sampel media.

Sintaks

HRESULT KsProcessMediaSamples(
  [in]      IKsDataTypeHandler *KsDataTypeHandler,
  [in]      IMediaSample       **SampleList,
  [in, out] PLONG              SampleCount,
  [in]      KSIOOPERATION      IoOperation,
  [out]     PKSSTREAM_SEGMENT  *StreamSegment
);

Parameter

[in] KsDataTypeHandler

Arahkan ke antarmuka IKsDataTypeHandler untuk penangan jenis data yang menangani jenis media yang tercantum di SampleList. Handler tipe data ini memiliki informasi spesifik tentang jenis media yang sedang dialirkan.

[in] SampleList

Penunjuk ke buffer yang berisi array pointer ke antarmuka IMediaSample untuk diproses daftar sampel media.

[in, out] SampleCount

Penunjuk ke variabel yang awalnya berisi jumlah sampel dalam daftar di SampleList dan, saat dikembalikan, menerima jumlah sampel aktual yang diproses.

[in] IoOperation

Nilai yang menentukan jenis operasi I/O. Nilai ini bisa menjadi salah satu nilai berikut dari jenis enumerasi KSIOOPERATION:

Nilai Deskripsi
KsIoOperation_Write Tulis data untuk dialirkan.
KsIoOperation_Read Membaca data dari aliran.

[out] StreamSegment

Penunjuk ke buffer yang menerima penunjuk ke struktur KSSTREAM_SEGMENT yang berisi informasi header untuk segmen aliran yang dikirim ke pin mode kernel.

Nilai kembali

Mengembalikan NOERROR jika berhasil; jika tidak, mengembalikan kode kesalahan.

Keterangan

Metode KsProcessMediaSamples memindahkan sampel dari atau ke pin filter yang ditetapkan sebelumnya. Header stream diinisialisasi untuk mewakili setiap sampel media di segmen aliran. Input dan output (I/O) kemudian dilakukan, jumlah item tunggu bertambah, dan utas I/O proksi menunggu penyelesaian.

Metode KsProcessMediaSamples memanggil metode KsQueryExtendedSize dari antarmuka IKsDataTypeHandler yang diterima untuk mengambil ukuran header yang diperluas. Jika ukuran header yang diperluas tidak ditentukan, KsProcessMediaSamples membuang penunjuk ke antarmuka IKsDataTypeHandler . Jika ukuran header yang diperluas ditentukan, KsProcessMediaSamples menyimpan penunjuk ke antarmuka IKsDataTypeHandler hingga pemrosesan sampel media selesai. Metode KsProcessMediaSamples kemudian mengalokasikan header stream dengan ukuran header yang sesuai. Untuk setiap sampel media, KsProcessMediaSamples menginisialisasi header, menyalin penunjuk data, mengatur stempel waktu, dan sebagainya. Setiap sampel kemudian ditambahkan ke daftar sampel. Jika ini adalah operasi tulis, sampel dipegang dengan menaikkan jumlah referensi.

Untuk informasi selengkapnya tentang IMediaSample, lihat dokumentasi Microsoft Windows SDK.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header ksproxy.h (termasuk Ksproxy.h)

Lihat juga

IKsDataTypeHandler

IKsDataTypeHandler::KsQueryExtendedSize

KSSTREAM_SEGMENT