MSDV Driver
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan 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 Audio/Video Capture 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.]
MSDV adalah driver Microsoft Windows Driver Model (WDM) untuk camcorder DV. Driver muncul sebagai filter DirectShow saat perangkat dicolokkan. Ini dijumlahkan dalam dua kategori filter:
- CLSID_VideoInputDeviceCategory ("Sumber Pengambilan Video")
- AM_KSCATEGORY_RENDER ("Perangkat Rendering Streaming WDM")
Nama filter yang mudah diingat adalah Microsoft DV Camera and VCR
, atau setara yang dilokalkan. Di beberapa perangkat, properti Deskripsi berisi deskripsi model tertentu, yang dapat digunakan alih-alih nama umum yang mudah diingat. Untuk informasi selengkapnya, lihat Memilih Perangkat Pengambilan.
MSDV memiliki dua pin output. Satu pin memberikan bingkai DV yang berisi data audio dan video yang diselingi. Pin lainnya memberikan bingkai khusus video tanpa audio. MSDV tidak dapat melakukan streaming dari kedua pin sekaligus, sehingga hanya satu pin output yang dapat dihubungkan pada satu waktu. Untuk informasi selengkapnya tentang mengambil video dari perangkat DV, lihat Mengambil DV ke File.
Sebagian besar camcorder DV memiliki subunit perekam pita video (VTR), yang dapat mengirimkan data dari pita ke komputer. Untuk aplikasi, menangkap dari pita berfungsi sama dengan menangkap video langsung. Satu-satunya perbedaan adalah bahwa aplikasi harus mengontrol transportasi pita eksternal — memulai dan menghentikan pita, memutar balik, dan sebagainya. Untuk tujuan ini, MSDV mengekspos antarmuka IAMExtDevice, IAMExtTransport, dan IAMTimecodeReader . Untuk informasi selengkapnya tentang mengontrol VTR, lihat Mengontrol DV Camcorder.
Anda juga dapat mengirimkan DV dari komputer ke camcorder. Video kemudian dapat dilihat di layar onboard camcorder, atau direkam ke pita. Untuk mendukung fungsionalitas ini, MSDV memiliki pin input yang dapat menerima aliran DV yang saling terkait. Saat pin input tersambung, MSDV bertindak sebagai filter perender alih-alih filter pengambilan. MSDV tidak mendukung pencarian dalam mode ini. Untuk informasi selengkapnya tentang mengirim DV ke perangkat, lihat Mengirimkan DV dari File ke Pita.
Perhatikan bahwa pin input dan output tidak dapat dihubungkan secara bersamaan, karena perangkat tidak dapat mengalir ke kedua arah secara bersamaan.
Di banyak camcorder, beralih antara mode VTR dan mode kamera menyebabkan perangkat mati. Oleh karena itu, DirectShow dapat kehilangan perangkat saat pengguna beralih mode. Untuk informasi tentang peristiwa penghapusan perangkat, lihat Pemberitahuan Penghapusan Perangkat.
Keterangan
Untuk informasi tentang format DV mana yang didukung oleh driver MSDV, lihat Subjenis Video DV.
Beberapa tips membangun grafik filter dengan MSDV:
Anda tidak dapat menggunakan IGraphBuilder::Render untuk merender pin output pada MSDV. (Filter Graph Manager mencoba menyambungkan pin output ke pin input MSDV, yang gagal.) Sebagai gantinya, gunakan IGraphBuilder::Connect atau ICaptureGraphBuilder2::RenderStream.
Saat grafik filter berisi MSDV, MSDV harus menyediakan jam referensi untuk grafik. Pada DirectX 8.0, Filter Graph Manager akan secara otomatis memilih MSDV sebagai jam referensi. Dengan versi sebelumnya, Anda harus memanggil metode IMediaFilter::SetSyncSource pada Filter Graph Manager. Untuk informasi selengkapnya tentang jam, lihat Waktu dan Jam di DirectShow.
Bergantung pada perangkat, beberapa metode di IAMExtDevice, IAMExtTransport, dan IAMTimeCodeReader mungkin mengembalikan kode kesalahan Windows alih-alih nilai HRESULT . Kemungkinan kode kesalahan termasuk yang berikut ini.
Kode Kesalahan Deskripsi ERROR_TIMEOUT Perintah perangkat eksternal telah kehabisan waktu. ERROR_REQ_NOT_ACCEP Perangkat tidak menerima perintah perangkat eksternal ini. ERROR_NOT_SUPPORTED Perangkat tidak mendukung perintah perangkat eksternal ini. ERROR_REQUEST_ABORTED Perintah perangkat eksternal dibatalkan. Mungkin perangkat telah dilepas atau terjadi reset bus.
Informasi Perangkat
Di Windows Millennium Edition dan Windows XP, moniker perangkat filter DV mendukung properti Deskripsi selain properti FriendlyName . Properti ini mengembalikan deskripsi perangkat, yang diambil dari file INF, yang biasanya berisi nama merek perangkat. Properti ini tidak didukung untuk semua model perangkat.
Untuk informasi selengkapnya tentang moniker perangkat, lihat Menggunakan Enumerator Perangkat Sistem.
Waktu Jam
Driver MSDV menggunakan jam bus 1394 yang terkandung dalam paket data 1394 untuk memperoleh jam. Ini menggunakan nilai-nilai ini untuk memberi stempel waktu sampel media DV. Karena jam sumber ini bukan jam sistem komputer, waktu pada akhirnya akan menyimpang dari jam sistem komputer. Namun, seperti disebutkan di atas, secara default Filter Graph Manager akan memilih MSDV sebagai jam referensi grafik.
Antarmuka IAMDroppedFrames melaporkan ukuran bingkai yang dihilangkan saat ini; nilai ini mungkin tidak disinkronkan dengan sempurna dengan jumlah aktual bingkai yang dihilangkan pada waktu tertentu. Jika bingkai dihilangkan, itu menunjukkan bahwa sistem tidak seimbang (produksi data melebihi konsumsi data). Misalnya, hard disk pengguna mungkin tidak cukup cepat untuk mendukung tingkat penangkapan DV.
Topik terkait