windows::Win32::Media::MediaFoundation

Trait IMFSinkWriter_Impl

pub trait IMFSinkWriter_Impl: IUnknownImpl {
    // Required methods
    fn AddStream(&self, ptargetmediatype: Ref<'_, IMFMediaType>) -> Result<u32>;
    fn SetInputMediaType(
        &self,
        dwstreamindex: u32,
        pinputmediatype: Ref<'_, IMFMediaType>,
        pencodingparameters: Ref<'_, IMFAttributes>,
    ) -> Result<()>;
    fn BeginWriting(&self) -> Result<()>;
    fn WriteSample(
        &self,
        dwstreamindex: u32,
        psample: Ref<'_, IMFSample>,
    ) -> Result<()>;
    fn SendStreamTick(&self, dwstreamindex: u32, lltimestamp: i64) -> Result<()>;
    fn PlaceMarker(
        &self,
        dwstreamindex: u32,
        pvcontext: *const c_void,
    ) -> Result<()>;
    fn NotifyEndOfSegment(&self, dwstreamindex: u32) -> Result<()>;
    fn Flush(&self, dwstreamindex: u32) -> Result<()>;
    fn Finalize(&self) -> Result<()>;
    fn GetServiceForStream(
        &self,
        dwstreamindex: u32,
        guidservice: *const GUID,
        riid: *const GUID,
        ppvobject: *mut *mut c_void,
    ) -> Result<()>;
    fn GetStatistics(
        &self,
        dwstreamindex: u32,
        pstats: *mut MF_SINK_WRITER_STATISTICS,
    ) -> Result<()>;
}

Required Methods§

fn AddStream(&self, ptargetmediatype: Ref<'_, IMFMediaType>) -> Result<u32>

fn SetInputMediaType( &self, dwstreamindex: u32, pinputmediatype: Ref<'_, IMFMediaType>, pencodingparameters: Ref<'_, IMFAttributes>, ) -> Result<()>

fn BeginWriting(&self) -> Result<()>

fn WriteSample( &self, dwstreamindex: u32, psample: Ref<'_, IMFSample>, ) -> Result<()>

fn SendStreamTick(&self, dwstreamindex: u32, lltimestamp: i64) -> Result<()>

fn PlaceMarker( &self, dwstreamindex: u32, pvcontext: *const c_void, ) -> Result<()>

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

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

fn Finalize(&self) -> Result<()>

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

fn GetStatistics( &self, dwstreamindex: u32, pstats: *mut MF_SINK_WRITER_STATISTICS, ) -> Result<()>

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§