windows::Win32::Media::MediaFoundation

Trait IMFSourceReader_Impl

pub trait IMFSourceReader_Impl: IUnknownImpl {
    // 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: Ref<'_, 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: OutRef<'_, 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: Ref<'_, 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: OutRef<'_, 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>

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§