Trait windows::Win32::Media::DxMediaObjects::IMediaObject_Impl
pub trait IMediaObject_Impl: Sized {
Show 21 methods
// Required methods
fn GetStreamCount(
&self,
pcinputstreams: *mut u32,
pcoutputstreams: *mut u32
) -> Result<()>;
fn GetInputStreamInfo(&self, dwinputstreamindex: u32) -> Result<u32>;
fn GetOutputStreamInfo(&self, dwoutputstreamindex: u32) -> Result<u32>;
fn GetInputType(
&self,
dwinputstreamindex: u32,
dwtypeindex: u32,
pmt: *mut DMO_MEDIA_TYPE
) -> Result<()>;
fn GetOutputType(
&self,
dwoutputstreamindex: u32,
dwtypeindex: u32,
pmt: *mut DMO_MEDIA_TYPE
) -> Result<()>;
fn SetInputType(
&self,
dwinputstreamindex: u32,
pmt: *const DMO_MEDIA_TYPE,
dwflags: u32
) -> Result<()>;
fn SetOutputType(
&self,
dwoutputstreamindex: u32,
pmt: *const DMO_MEDIA_TYPE,
dwflags: u32
) -> Result<()>;
fn GetInputCurrentType(
&self,
dwinputstreamindex: u32,
pmt: *mut DMO_MEDIA_TYPE
) -> Result<()>;
fn GetOutputCurrentType(
&self,
dwoutputstreamindex: u32,
pmt: *mut DMO_MEDIA_TYPE
) -> Result<()>;
fn GetInputSizeInfo(
&self,
dwinputstreamindex: u32,
pcbsize: *mut u32,
pcbmaxlookahead: *mut u32,
pcbalignment: *mut u32
) -> Result<()>;
fn GetOutputSizeInfo(
&self,
dwoutputstreamindex: u32,
pcbsize: *mut u32,
pcbalignment: *mut u32
) -> Result<()>;
fn GetInputMaxLatency(&self, dwinputstreamindex: u32) -> Result<i64>;
fn SetInputMaxLatency(
&self,
dwinputstreamindex: u32,
rtmaxlatency: i64
) -> Result<()>;
fn Flush(&self) -> Result<()>;
fn Discontinuity(&self, dwinputstreamindex: u32) -> Result<()>;
fn AllocateStreamingResources(&self) -> Result<()>;
fn FreeStreamingResources(&self) -> Result<()>;
fn GetInputStatus(&self, dwinputstreamindex: u32) -> Result<u32>;
fn ProcessInput(
&self,
dwinputstreamindex: u32,
pbuffer: Option<&IMediaBuffer>,
dwflags: u32,
rttimestamp: i64,
rttimelength: i64
) -> Result<()>;
fn ProcessOutput(
&self,
dwflags: u32,
coutputbuffercount: u32,
poutputbuffers: *mut DMO_OUTPUT_DATA_BUFFER,
pdwstatus: *mut u32
) -> Result<()>;
fn Lock(&self, block: i32) -> Result<()>;
}
Required Methods§
fn GetStreamCount( &self, pcinputstreams: *mut u32, pcoutputstreams: *mut u32 ) -> Result<()>
fn GetInputStreamInfo(&self, dwinputstreamindex: u32) -> Result<u32>
fn GetOutputStreamInfo(&self, dwoutputstreamindex: u32) -> Result<u32>
fn GetInputType( &self, dwinputstreamindex: u32, dwtypeindex: u32, pmt: *mut DMO_MEDIA_TYPE ) -> Result<()>
fn GetOutputType( &self, dwoutputstreamindex: u32, dwtypeindex: u32, pmt: *mut DMO_MEDIA_TYPE ) -> Result<()>
fn SetInputType( &self, dwinputstreamindex: u32, pmt: *const DMO_MEDIA_TYPE, dwflags: u32 ) -> Result<()>
fn SetOutputType( &self, dwoutputstreamindex: u32, pmt: *const DMO_MEDIA_TYPE, dwflags: u32 ) -> Result<()>
fn GetInputCurrentType( &self, dwinputstreamindex: u32, pmt: *mut DMO_MEDIA_TYPE ) -> Result<()>
fn GetOutputCurrentType( &self, dwoutputstreamindex: u32, pmt: *mut DMO_MEDIA_TYPE ) -> Result<()>
fn GetInputSizeInfo( &self, dwinputstreamindex: u32, pcbsize: *mut u32, pcbmaxlookahead: *mut u32, pcbalignment: *mut u32 ) -> Result<()>
fn GetOutputSizeInfo( &self, dwoutputstreamindex: u32, pcbsize: *mut u32, pcbalignment: *mut u32 ) -> Result<()>
fn GetInputMaxLatency(&self, dwinputstreamindex: u32) -> Result<i64>
fn SetInputMaxLatency( &self, dwinputstreamindex: u32, rtmaxlatency: i64 ) -> Result<()>
fn Flush(&self) -> Result<()>
fn Discontinuity(&self, dwinputstreamindex: u32) -> Result<()>
fn AllocateStreamingResources(&self) -> Result<()>
fn FreeStreamingResources(&self) -> Result<()>
fn GetInputStatus(&self, dwinputstreamindex: u32) -> Result<u32>
fn ProcessInput( &self, dwinputstreamindex: u32, pbuffer: Option<&IMediaBuffer>, dwflags: u32, rttimestamp: i64, rttimelength: i64 ) -> Result<()>
fn ProcessOutput( &self, dwflags: u32, coutputbuffercount: u32, poutputbuffers: *mut DMO_OUTPUT_DATA_BUFFER, pdwstatus: *mut u32 ) -> Result<()>
fn Lock(&self, block: i32) -> Result<()>
Object Safety§
This trait is not object safe.