Metode CDynamicOutputPin.ChangeOutputFormat

[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.]

Metode ini ChangeOutputFormat secara dinamis mengubah jenis media untuk koneksi, dan memberikan informasi segmen baru. Perubahan dapat terjadi saat grafik filter sedang berjalan. Setelah metode ini dipanggil, sampel dengan jenis media lama tidak dapat dikirimkan. Penelepon harus memastikan bahwa tidak ada sampel lama yang tertunda.

Sintaks

HRESULT ChangeOutputFormat(
   const AM_MEDIA_TYPE  *pmt,
         REFERENCE_TIME tSegmentStart,
         REFERENCE_TIME tSegmentStop,
         double         dSegmentRate
);

Parameter

Pmt

Penunjuk ke struktur AM_MEDIA_TYPE yang menentukan jenis media.

tSegmentStart

Waktu mulai segmen.

tSegmentStop

Waktu henti segmen.

dSegmentRate

Laju segmen.

Nilai kembali

Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang diperlihatkan dalam tabel berikut ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
E_FAIL
Kegagalan. Mungkin filter pemilik tidak memanggil CDynamicOutputPin::SetConfigInfo.
VFW_E_NOT_CONNECTED
Pin tidak tersambung.

Keterangan

Metode ini mengubah jenis format saat filter sedang berjalan. Jika pin hilir menerima format baru, tidak ada koneksi ulang yang diperlukan. Jika tidak, metode mencoba menyambungkan kembali pin. Jika metode berhasil mengubah format, metode akan memberikan informasi segmen baru. Metode ini memanggil metode CDynamicOutputPin::ChangeMediaType untuk melakukan perubahan format.

Anda harus memanggil metode CDynamicOutputPin::StartUsingOutputPin sebelum memanggil metode ini.

Persyaratan

Persyaratan Nilai
Header
Amfilter.h (termasuk Streams.h)
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)

Lihat juga

Kelas CDynamicOutputPin