windows::Win32::Media::MediaFoundation

Trait IMFTransform_Impl

pub trait IMFTransform_Impl: IUnknownImpl {
Show 23 methods // Required methods fn GetStreamLimits( &self, pdwinputminimum: *mut u32, pdwinputmaximum: *mut u32, pdwoutputminimum: *mut u32, pdwoutputmaximum: *mut u32, ) -> Result<()>; fn GetStreamCount( &self, pcinputstreams: *mut u32, pcoutputstreams: *mut u32, ) -> Result<()>; fn GetStreamIDs( &self, dwinputidarraysize: u32, pdwinputids: *mut u32, dwoutputidarraysize: u32, pdwoutputids: *mut u32, ) -> Result<()>; fn GetInputStreamInfo( &self, dwinputstreamid: u32, pstreaminfo: *mut MFT_INPUT_STREAM_INFO, ) -> Result<()>; fn GetOutputStreamInfo( &self, dwoutputstreamid: u32, ) -> Result<MFT_OUTPUT_STREAM_INFO>; fn GetAttributes(&self) -> Result<IMFAttributes>; fn GetInputStreamAttributes( &self, dwinputstreamid: u32, ) -> Result<IMFAttributes>; fn GetOutputStreamAttributes( &self, dwoutputstreamid: u32, ) -> Result<IMFAttributes>; fn DeleteInputStream(&self, dwstreamid: u32) -> Result<()>; fn AddInputStreams( &self, cstreams: u32, adwstreamids: *const u32, ) -> Result<()>; fn GetInputAvailableType( &self, dwinputstreamid: u32, dwtypeindex: u32, ) -> Result<IMFMediaType>; fn GetOutputAvailableType( &self, dwoutputstreamid: u32, dwtypeindex: u32, ) -> Result<IMFMediaType>; fn SetInputType( &self, dwinputstreamid: u32, ptype: Ref<'_, IMFMediaType>, dwflags: u32, ) -> Result<()>; fn SetOutputType( &self, dwoutputstreamid: u32, ptype: Ref<'_, IMFMediaType>, dwflags: u32, ) -> Result<()>; fn GetInputCurrentType(&self, dwinputstreamid: u32) -> Result<IMFMediaType>; fn GetOutputCurrentType( &self, dwoutputstreamid: u32, ) -> Result<IMFMediaType>; fn GetInputStatus(&self, dwinputstreamid: u32) -> Result<u32>; fn GetOutputStatus(&self) -> Result<u32>; fn SetOutputBounds( &self, hnslowerbound: i64, hnsupperbound: i64, ) -> Result<()>; fn ProcessEvent( &self, dwinputstreamid: u32, pevent: Ref<'_, IMFMediaEvent>, ) -> Result<()>; fn ProcessMessage( &self, emessage: MFT_MESSAGE_TYPE, ulparam: usize, ) -> Result<()>; fn ProcessInput( &self, dwinputstreamid: u32, psample: Ref<'_, IMFSample>, dwflags: u32, ) -> Result<()>; fn ProcessOutput( &self, dwflags: u32, coutputbuffercount: u32, poutputsamples: *mut MFT_OUTPUT_DATA_BUFFER, pdwstatus: *mut u32, ) -> Result<()>;
}

Required Methods§

fn GetStreamLimits( &self, pdwinputminimum: *mut u32, pdwinputmaximum: *mut u32, pdwoutputminimum: *mut u32, pdwoutputmaximum: *mut u32, ) -> Result<()>

fn GetStreamCount( &self, pcinputstreams: *mut u32, pcoutputstreams: *mut u32, ) -> Result<()>

fn GetStreamIDs( &self, dwinputidarraysize: u32, pdwinputids: *mut u32, dwoutputidarraysize: u32, pdwoutputids: *mut u32, ) -> Result<()>

fn GetInputStreamInfo( &self, dwinputstreamid: u32, pstreaminfo: *mut MFT_INPUT_STREAM_INFO, ) -> Result<()>

fn GetOutputStreamInfo( &self, dwoutputstreamid: u32, ) -> Result<MFT_OUTPUT_STREAM_INFO>

fn GetAttributes(&self) -> Result<IMFAttributes>

fn GetInputStreamAttributes( &self, dwinputstreamid: u32, ) -> Result<IMFAttributes>

fn GetOutputStreamAttributes( &self, dwoutputstreamid: u32, ) -> Result<IMFAttributes>

fn DeleteInputStream(&self, dwstreamid: u32) -> Result<()>

fn AddInputStreams(&self, cstreams: u32, adwstreamids: *const u32) -> Result<()>

fn GetInputAvailableType( &self, dwinputstreamid: u32, dwtypeindex: u32, ) -> Result<IMFMediaType>

fn GetOutputAvailableType( &self, dwoutputstreamid: u32, dwtypeindex: u32, ) -> Result<IMFMediaType>

fn SetInputType( &self, dwinputstreamid: u32, ptype: Ref<'_, IMFMediaType>, dwflags: u32, ) -> Result<()>

fn SetOutputType( &self, dwoutputstreamid: u32, ptype: Ref<'_, IMFMediaType>, dwflags: u32, ) -> Result<()>

fn GetInputCurrentType(&self, dwinputstreamid: u32) -> Result<IMFMediaType>

fn GetOutputCurrentType(&self, dwoutputstreamid: u32) -> Result<IMFMediaType>

fn GetInputStatus(&self, dwinputstreamid: u32) -> Result<u32>

fn GetOutputStatus(&self) -> Result<u32>

fn SetOutputBounds(&self, hnslowerbound: i64, hnsupperbound: i64) -> Result<()>

fn ProcessEvent( &self, dwinputstreamid: u32, pevent: Ref<'_, IMFMediaEvent>, ) -> Result<()>

fn ProcessMessage( &self, emessage: MFT_MESSAGE_TYPE, ulparam: usize, ) -> Result<()>

fn ProcessInput( &self, dwinputstreamid: u32, psample: Ref<'_, IMFSample>, dwflags: u32, ) -> Result<()>

fn ProcessOutput( &self, dwflags: u32, coutputbuffercount: u32, poutputsamples: *mut MFT_OUTPUT_DATA_BUFFER, pdwstatus: *mut u32, ) -> Result<()>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§