Metode IMFSourceReaderEx::AddTransformForStream (mfreadwrite.h)
Menambahkan transformasi, seperti efek audio atau video, ke streaming.
Sintaks
HRESULT AddTransformForStream(
[in] DWORD dwStreamIndex,
[in] IUnknown *pTransformOrActivate
);
Parameter
[in] dwStreamIndex
Aliran yang akan dikonfigurasi. Nilainya bisa salah satu dari yang berikut ini.
Nilai | Makna |
---|---|
|
Indeks aliran berbasis nol. |
|
Streaming video pertama. |
|
Aliran audio pertama. |
[in] pTransformOrActivate
Penunjuk ke salah satu hal berikut ini:
- Transformasi Media Foundation (MFT) yang mengekspos antarmuka IMFTransform .
- Objek aktivasi MFT yang mengekspos antarmuka IMFActivate .
Nilai kembali
Metode ini dapat mengembalikan salah satu nilai ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Transformasi tidak mendukung format aliran saat ini, dan tidak ada konversi yang dimungkinkan. Lihat Keterangan untuk informasi selengkapnya. |
|
Permintaan tidak valid. |
|
Parameter dwStreamIndex tidak valid. |
Keterangan
Metode ini mencoba menambahkan transformasi di akhir rantai pemrosesan saat ini.
Untuk menggunakan metode ini, lakukan urutan panggilan berikut:
- Panggil IMFSourceReader::SetCurrentMediaType untuk mengatur jenis output yang Anda inginkan untuk aliran. Dalam langkah ini, Anda dapat menentukan jenis media yang hanya berisi jenis utama dan GUID subjenis. Misalnya, untuk mendapatkan output RGB 32-bit, atur jenis utama MFMediaType_Video dan subjenis MFVideoFormat_RGB32. (Untuk informasi selengkapnya, lihat GUID Jenis Media.)
- Panggil AddTransformForStream. Jika Pembaca Sumber berhasil menyambungkan transformasi, itu mengatur jenis output pada transformasi.
- Panggil IMFSourceReader::GetCurrentMediaType untuk mendapatkan jenis output dari transformasi. Metode ini mengembalikan jenis media dengan deskripsi format lengkap.
- Secara opsional, jika Anda ingin mengubah jenis output, panggil IMFSourceReader::SetCurrentMediaType lagi untuk mengatur jenis media lengkap pada transformasi.
Metode gagal jika pembaca sumber dikonfigurasi dengan atribut MF_READWRITE_DISABLE_CONVERTERS atau MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING .
Dalam mode asinkron, metode juga gagal jika permintaan sampel tertunda. Dalam hal ini, tunggu panggilan balik OnReadSample dipanggil sebelum memanggil metode . Untuk informasi selengkapnya tentang menggunakan Pembaca Sumber dalam mode asinkron, lihat IMFSourceReader::ReadSample.
Anda dapat menambahkan transformasi kapan saja selama streaming. Namun, metode ini tidak membersihkan atau menguras alur sebelum memasukkan transformasi. Oleh karena itu, jika data sudah ada di alur, sampel berikutnya tidak dijamin akan menerapkan transformasi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2012 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | mfreadwrite.h |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk