Trait windows::Win32::Media::MediaFoundation::IMFTransform_Impl
pub trait IMFTransform_Impl: Sized {
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: Option<&IMFMediaType>,
dwflags: u32
) -> Result<()>;
fn SetOutputType(
&self,
dwoutputstreamid: u32,
ptype: Option<&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: Option<&IMFMediaEvent>
) -> Result<()>;
fn ProcessMessage(
&self,
emessage: MFT_MESSAGE_TYPE,
ulparam: usize
) -> Result<()>;
fn ProcessInput(
&self,
dwinputstreamid: u32,
psample: Option<&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: Option<&IMFMediaType>, dwflags: u32 ) -> Result<()>
fn SetOutputType( &self, dwoutputstreamid: u32, ptype: Option<&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: Option<&IMFMediaEvent> ) -> Result<()>
fn ProcessMessage( &self, emessage: MFT_MESSAGE_TYPE, ulparam: usize ) -> Result<()>
fn ProcessInput( &self, dwinputstreamid: u32, psample: Option<&IMFSample>, dwflags: u32 ) -> Result<()>
fn ProcessOutput( &self, dwflags: u32, coutputbuffercount: u32, poutputsamples: *mut MFT_OUTPUT_DATA_BUFFER, pdwstatus: *mut u32 ) -> Result<()>
Object Safety§
This trait is not object safe.