pub trait IMFSourceReader_Impl: Sized {
    // Required methods
    fn GetStreamSelection(&self, dwstreamindex: u32) -> Result<BOOL>;
    fn SetStreamSelection(
        &self,
        dwstreamindex: u32,
        fselected: BOOL
    ) -> Result<()>;
    fn GetNativeMediaType(
        &self,
        dwstreamindex: u32,
        dwmediatypeindex: u32
    ) -> Result<IMFMediaType>;
    fn GetCurrentMediaType(&self, dwstreamindex: u32) -> Result<IMFMediaType>;
    fn SetCurrentMediaType(
        &self,
        dwstreamindex: u32,
        pdwreserved: *const u32,
        pmediatype: Option<&IMFMediaType>
    ) -> Result<()>;
    fn SetCurrentPosition(
        &self,
        guidtimeformat: *const GUID,
        varposition: *const PROPVARIANT
    ) -> Result<()>;
    fn ReadSample(
        &self,
        dwstreamindex: u32,
        dwcontrolflags: u32,
        pdwactualstreamindex: *mut u32,
        pdwstreamflags: *mut u32,
        plltimestamp: *mut i64,
        ppsample: *mut Option<IMFSample>
    ) -> Result<()>;
    fn Flush(&self, dwstreamindex: u32) -> Result<()>;
    fn GetServiceForStream(
        &self,
        dwstreamindex: u32,
        guidservice: *const GUID,
        riid: *const GUID,
        ppvobject: *mut *mut c_void
    ) -> Result<()>;
    fn GetPresentationAttribute(
        &self,
        dwstreamindex: u32,
        guidattribute: *const GUID
    ) -> Result<PROPVARIANT>;
}

Required Methods§

fn GetStreamSelection(&self, dwstreamindex: u32) -> Result<BOOL>

fn SetStreamSelection(&self, dwstreamindex: u32, fselected: BOOL) -> Result<()>

fn GetNativeMediaType( &self, dwstreamindex: u32, dwmediatypeindex: u32 ) -> Result<IMFMediaType>

fn GetCurrentMediaType(&self, dwstreamindex: u32) -> Result<IMFMediaType>

fn SetCurrentMediaType( &self, dwstreamindex: u32, pdwreserved: *const u32, pmediatype: Option<&IMFMediaType> ) -> Result<()>

fn SetCurrentPosition( &self, guidtimeformat: *const GUID, varposition: *const PROPVARIANT ) -> Result<()>

fn ReadSample( &self, dwstreamindex: u32, dwcontrolflags: u32, pdwactualstreamindex: *mut u32, pdwstreamflags: *mut u32, plltimestamp: *mut i64, ppsample: *mut Option<IMFSample> ) -> Result<()>

fn Flush(&self, dwstreamindex: u32) -> Result<()>

fn GetServiceForStream( &self, dwstreamindex: u32, guidservice: *const GUID, riid: *const GUID, ppvobject: *mut *mut c_void ) -> Result<()>

fn GetPresentationAttribute( &self, dwstreamindex: u32, guidattribute: *const GUID ) -> Result<PROPVARIANT>

Object Safety§

This trait is not object safe.

Implementors§