Bagikan melalui


METODE IMFASFSplitter::P arseData (wmcontainer.h)

Mengirim data Advanced Systems Format (ASF) yang dikemas ke pemisah ASF untuk diproses.

Sintaks

HRESULT ParseData(
  [in] IMFMediaBuffer *pIBuffer,
  [in] DWORD          cbBufferOffset,
  [in] DWORD          cbLength
);

Parameter

[in] pIBuffer

Arahkan ke antarmuka IMFMediaBuffer dari objek buffer yang berisi data yang akan diurai.

[in] cbBufferOffset

Offset ke dalam buffer data tempat pemisah harus mulai mengurai. Nilai ini biasanya diatur ke 0.

[in] cbLength

Panjangnya, dalam byte, dari data yang akan diurai. Nilai ini diukur dari offset yang ditentukan oleh cbBufferOffset. Atur ke 0 untuk memproses ke akhir buffer.

Mengembalikan nilai

Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
E_INVALIDARG
Parameter pIBuffer adalah NULL.

Nilai offset yang ditentukan dalam cbBufferOffset lebih besar dari panjang buffer.

Nilai total cbBufferOffset dan cbLength lebih besar dari panjang buffer.

MF_E_NOT_INITIALIZED
Metode IMFASFSplitter::Initialize tidak dipanggil atau panggilan gagal.
MF_E_NOTACCEPTING
Pemisah tidak dapat memproses lebih banyak input saat ini.

Keterangan

Setelah menggunakan metode ini untuk mengurai data, Anda harus memanggil IMFASFSplitter::GetNextSample untuk mengambil sampel media yang diurai.

Jika data ASF Anda berisi paket berukuran variabel, Anda harus mengatur atribut MFASFSPLITTER_PACKET_BOUNDARY pada buffer untuk menunjukkan batas sampel, dan buffer tidak dapat menjangkau beberapa paket.

Jika metode mengembalikan ME_E_NOTACCEPTING, panggil GetNextSample untuk mendapatkan sampel output, atau panggil IMFASFSplitter::Flush untuk menghapus pemisah.

Pemisah mungkin menyimpan jumlah referensi pada buffer input. Oleh karena itu, jangan menulis data yang valid di buffer setelah memanggil metode ini.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header wmcontainer.h
Pustaka Mfuuid.lib

Lihat juga

Pemisah ASF

IMFASFSplitter