Trait windows::Win32::Media::MediaFoundation::IMFDeviceTransform_Impl
pub trait IMFDeviceTransform_Impl: Sized {
Show 20 methods
// Required methods
fn InitializeTransform(
&self,
pattributes: Option<&IMFAttributes>,
) -> Result<()>;
fn GetInputAvailableType(
&self,
dwinputstreamid: u32,
dwtypeindex: u32,
) -> Result<IMFMediaType>;
fn GetInputCurrentType(&self, dwinputstreamid: u32) -> Result<IMFMediaType>;
fn GetInputStreamAttributes(
&self,
dwinputstreamid: u32,
) -> Result<IMFAttributes>;
fn GetOutputAvailableType(
&self,
dwoutputstreamid: u32,
dwtypeindex: u32,
) -> Result<IMFMediaType>;
fn GetOutputCurrentType(
&self,
dwoutputstreamid: u32,
) -> Result<IMFMediaType>;
fn GetOutputStreamAttributes(
&self,
dwoutputstreamid: u32,
) -> Result<IMFAttributes>;
fn GetStreamCount(
&self,
pcinputstreams: *mut u32,
pcoutputstreams: *mut u32,
) -> Result<()>;
fn GetStreamIDs(
&self,
dwinputidarraysize: u32,
pdwinputstreamids: *mut u32,
dwoutputidarraysize: u32,
pdwoutputstreamids: *mut u32,
) -> Result<()>;
fn ProcessEvent(
&self,
dwinputstreamid: u32,
pevent: Option<&IMFMediaEvent>,
) -> Result<()>;
fn ProcessInput(
&self,
dwinputstreamid: u32,
psample: Option<&IMFSample>,
dwflags: u32,
) -> Result<()>;
fn ProcessMessage(
&self,
emessage: MFT_MESSAGE_TYPE,
ulparam: usize,
) -> Result<()>;
fn ProcessOutput(
&self,
dwflags: u32,
coutputbuffercount: u32,
poutputsample: *mut MFT_OUTPUT_DATA_BUFFER,
pdwstatus: *mut u32,
) -> Result<()>;
fn SetInputStreamState(
&self,
dwstreamid: u32,
pmediatype: Option<&IMFMediaType>,
value: DeviceStreamState,
dwflags: u32,
) -> Result<()>;
fn GetInputStreamState(&self, dwstreamid: u32) -> Result<DeviceStreamState>;
fn SetOutputStreamState(
&self,
dwstreamid: u32,
pmediatype: Option<&IMFMediaType>,
value: DeviceStreamState,
dwflags: u32,
) -> Result<()>;
fn GetOutputStreamState(&self, dwstreamid: u32) -> Result<DeviceStreamState>;
fn GetInputStreamPreferredState(
&self,
dwstreamid: u32,
value: *mut DeviceStreamState,
ppmediatype: *mut Option<IMFMediaType>,
) -> Result<()>;
fn FlushInputStream(&self, dwstreamindex: u32, dwflags: u32) -> Result<()>;
fn FlushOutputStream(&self, dwstreamindex: u32, dwflags: u32) -> Result<()>;
}
Required Methods§
fn InitializeTransform(&self, pattributes: Option<&IMFAttributes>) -> Result<()>
fn GetInputAvailableType( &self, dwinputstreamid: u32, dwtypeindex: u32, ) -> Result<IMFMediaType>
fn GetInputCurrentType(&self, dwinputstreamid: u32) -> Result<IMFMediaType>
fn GetInputStreamAttributes( &self, dwinputstreamid: u32, ) -> Result<IMFAttributes>
fn GetOutputAvailableType( &self, dwoutputstreamid: u32, dwtypeindex: u32, ) -> Result<IMFMediaType>
fn GetOutputCurrentType(&self, dwoutputstreamid: u32) -> Result<IMFMediaType>
fn GetOutputStreamAttributes( &self, dwoutputstreamid: u32, ) -> Result<IMFAttributes>
fn GetStreamCount( &self, pcinputstreams: *mut u32, pcoutputstreams: *mut u32, ) -> Result<()>
fn GetStreamIDs( &self, dwinputidarraysize: u32, pdwinputstreamids: *mut u32, dwoutputidarraysize: u32, pdwoutputstreamids: *mut u32, ) -> Result<()>
fn ProcessEvent( &self, dwinputstreamid: u32, pevent: Option<&IMFMediaEvent>, ) -> Result<()>
fn ProcessInput( &self, dwinputstreamid: u32, psample: Option<&IMFSample>, dwflags: u32, ) -> Result<()>
fn ProcessMessage( &self, emessage: MFT_MESSAGE_TYPE, ulparam: usize, ) -> Result<()>
fn ProcessOutput( &self, dwflags: u32, coutputbuffercount: u32, poutputsample: *mut MFT_OUTPUT_DATA_BUFFER, pdwstatus: *mut u32, ) -> Result<()>
fn SetInputStreamState( &self, dwstreamid: u32, pmediatype: Option<&IMFMediaType>, value: DeviceStreamState, dwflags: u32, ) -> Result<()>
fn GetInputStreamState(&self, dwstreamid: u32) -> Result<DeviceStreamState>
fn SetOutputStreamState( &self, dwstreamid: u32, pmediatype: Option<&IMFMediaType>, value: DeviceStreamState, dwflags: u32, ) -> Result<()>
fn GetOutputStreamState(&self, dwstreamid: u32) -> Result<DeviceStreamState>
fn GetInputStreamPreferredState( &self, dwstreamid: u32, value: *mut DeviceStreamState, ppmediatype: *mut Option<IMFMediaType>, ) -> Result<()>
fn FlushInputStream(&self, dwstreamindex: u32, dwflags: u32) -> Result<()>
fn FlushOutputStream(&self, dwstreamindex: u32, dwflags: u32) -> Result<()>
Object Safety§
This trait is not object safe.