Metode CDynamicOutputPin.StartUsingOutputPin
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Metode ini StartUsingOutputPin
mendapatkan akses ke pin untuk operasi streaming.
Sintaks
virtual HRESULT StartUsingOutputPin();
Parameter
Metode ini tidak memiliki parameter.
Nilai kembali
Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang diperlihatkan dalam tabel berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Kesalahan tak terduga. |
|
Filter dihentikan, atau pin telah mulai dibersihkan. |
Keterangan
Panggil metode ini sebelum memanggil metode apa pun yang mengirimkan data ke pin input yang terhubung atau yang mengubah jenis media koneksi. Misalnya, aturan ini berlaku untuk metode berikut:
- CDynamicOutputPin::ChangeOutputFormat
- CDynamicOutputPin::ChangeMediaType
- CDynamicOutputPin::D ynamicReconnect
- CBaseOutputPin::D eliver
- CBaseOutputPin::D eliverEndOfStream
- CBaseOutputPin::D eliverNewSegment
- IMemInputPin::Receive
- IMemInputPin::ReceiveMultiple
- IPin::EndOfStream
- IPin::NewSegment
Setelah itu, panggil metode CDynamicOutputPin::StopUsingOutputPin untuk merilis akses ke pin.
Jika pin diblokir, StartUsingOutputPin
menunggu pin menjadi tidak diblokir. Jika filter berhenti saat metode menunggu, metode segera mengembalikan VFW_E_STATE_CHANGED. Pin mempertahankan hitungan berapa kali StartUsingOutputPin
telah dipanggil tanpa panggilan yang sesuai ke StopUsingOutputPin. Jika utas lain mencoba memblokir pin sementara jumlah ini bukan nol, pin mengatur status pemblokirannya ke "tertunda." Pin menjadi diblokir setelah semua operasi streaming selesai, dalam panggilan akhir ke StopUsingOutputPin.
Jangan tahan bagian penting CDynamicOutputPin::m_BlockStateLock saat Anda memanggil metode ini. Jika tidak, jika pin diblokir, pin tidak akan pernah dapat dibuka blokirnya, menyebabkan kebuntuan.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|
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