pub trait IMFMediaSourceExtension_Impl: Sized {
    // Required methods
    fn GetSourceBuffers(&self) -> Option<IMFSourceBufferList>;
    fn GetActiveSourceBuffers(&self) -> Option<IMFSourceBufferList>;
    fn GetReadyState(&self) -> MF_MSE_READY;
    fn GetDuration(&self) -> f64;
    fn SetDuration(&self, duration: f64) -> Result<()>;
    fn AddSourceBuffer(
        &self,
        type: &BSTR,
        pnotify: Option<&IMFSourceBufferNotify>
    ) -> Result<IMFSourceBuffer>;
    fn RemoveSourceBuffer(
        &self,
        psourcebuffer: Option<&IMFSourceBuffer>
    ) -> Result<()>;
    fn SetEndOfStream(&self, error: MF_MSE_ERROR) -> Result<()>;
    fn IsTypeSupported(&self, type: &BSTR) -> BOOL;
    fn GetSourceBuffer(&self, dwstreamindex: u32) -> Option<IMFSourceBuffer>;
}

Required Methods§

fn GetSourceBuffers(&self) -> Option<IMFSourceBufferList>

fn GetActiveSourceBuffers(&self) -> Option<IMFSourceBufferList>

fn GetReadyState(&self) -> MF_MSE_READY

fn GetDuration(&self) -> f64

fn SetDuration(&self, duration: f64) -> Result<()>

fn AddSourceBuffer( &self, type: &BSTR, pnotify: Option<&IMFSourceBufferNotify> ) -> Result<IMFSourceBuffer>

fn RemoveSourceBuffer( &self, psourcebuffer: Option<&IMFSourceBuffer> ) -> Result<()>

fn SetEndOfStream(&self, error: MF_MSE_ERROR) -> Result<()>

fn IsTypeSupported(&self, type: &BSTR) -> BOOL

fn GetSourceBuffer(&self, dwstreamindex: u32) -> Option<IMFSourceBuffer>

Object Safety§

This trait is not object safe.

Implementors§