Trait IMFPMediaPlayer_Impl
pub trait IMFPMediaPlayer_Impl: IUnknownImpl {
Show 36 methods
// Required methods
fn Play(&self) -> Result<()>;
fn Pause(&self) -> Result<()>;
fn Stop(&self) -> Result<()>;
fn FrameStep(&self) -> Result<()>;
fn SetPosition(
&self,
guidpositiontype: *const GUID,
pvpositionvalue: *const PROPVARIANT,
) -> Result<()>;
fn GetPosition(&self, guidpositiontype: *const GUID) -> Result<PROPVARIANT>;
fn GetDuration(&self, guidpositiontype: *const GUID) -> Result<PROPVARIANT>;
fn SetRate(&self, flrate: f32) -> Result<()>;
fn GetRate(&self) -> Result<f32>;
fn GetSupportedRates(
&self,
fforwarddirection: BOOL,
pflslowestrate: *mut f32,
pflfastestrate: *mut f32,
) -> Result<()>;
fn GetState(&self) -> Result<MFP_MEDIAPLAYER_STATE>;
fn CreateMediaItemFromURL(
&self,
pwszurl: &PCWSTR,
fsync: BOOL,
dwuserdata: usize,
ppmediaitem: OutRef<'_, IMFPMediaItem>,
) -> Result<()>;
fn CreateMediaItemFromObject(
&self,
piunknownobj: Ref<'_, IUnknown>,
fsync: BOOL,
dwuserdata: usize,
ppmediaitem: OutRef<'_, IMFPMediaItem>,
) -> Result<()>;
fn SetMediaItem(&self, pimfpmediaitem: Ref<'_, IMFPMediaItem>) -> Result<()>;
fn ClearMediaItem(&self) -> Result<()>;
fn GetMediaItem(&self) -> Result<IMFPMediaItem>;
fn GetVolume(&self) -> Result<f32>;
fn SetVolume(&self, flvolume: f32) -> Result<()>;
fn GetBalance(&self) -> Result<f32>;
fn SetBalance(&self, flbalance: f32) -> Result<()>;
fn GetMute(&self) -> Result<BOOL>;
fn SetMute(&self, fmute: BOOL) -> Result<()>;
fn GetNativeVideoSize(
&self,
pszvideo: *mut SIZE,
pszarvideo: *mut SIZE,
) -> Result<()>;
fn GetIdealVideoSize(
&self,
pszmin: *mut SIZE,
pszmax: *mut SIZE,
) -> Result<()>;
fn SetVideoSourceRect(
&self,
pnrcsource: *const MFVideoNormalizedRect,
) -> Result<()>;
fn GetVideoSourceRect(&self) -> Result<MFVideoNormalizedRect>;
fn SetAspectRatioMode(&self, dwaspectratiomode: u32) -> Result<()>;
fn GetAspectRatioMode(&self) -> Result<u32>;
fn GetVideoWindow(&self) -> Result<HWND>;
fn UpdateVideo(&self) -> Result<()>;
fn SetBorderColor(&self, clr: COLORREF) -> Result<()>;
fn GetBorderColor(&self) -> Result<COLORREF>;
fn InsertEffect(
&self,
peffect: Ref<'_, IUnknown>,
foptional: BOOL,
) -> Result<()>;
fn RemoveEffect(&self, peffect: Ref<'_, IUnknown>) -> Result<()>;
fn RemoveAllEffects(&self) -> Result<()>;
fn Shutdown(&self) -> Result<()>;
}
Required Methods§
fn Play(&self) -> Result<()>
fn Pause(&self) -> Result<()>
fn Stop(&self) -> Result<()>
fn FrameStep(&self) -> Result<()>
fn SetPosition( &self, guidpositiontype: *const GUID, pvpositionvalue: *const PROPVARIANT, ) -> Result<()>
fn GetPosition(&self, guidpositiontype: *const GUID) -> Result<PROPVARIANT>
fn GetDuration(&self, guidpositiontype: *const GUID) -> Result<PROPVARIANT>
fn SetRate(&self, flrate: f32) -> Result<()>
fn GetRate(&self) -> Result<f32>
fn GetSupportedRates( &self, fforwarddirection: BOOL, pflslowestrate: *mut f32, pflfastestrate: *mut f32, ) -> Result<()>
fn GetState(&self) -> Result<MFP_MEDIAPLAYER_STATE>
fn CreateMediaItemFromURL( &self, pwszurl: &PCWSTR, fsync: BOOL, dwuserdata: usize, ppmediaitem: OutRef<'_, IMFPMediaItem>, ) -> Result<()>
fn CreateMediaItemFromObject( &self, piunknownobj: Ref<'_, IUnknown>, fsync: BOOL, dwuserdata: usize, ppmediaitem: OutRef<'_, IMFPMediaItem>, ) -> Result<()>
fn SetMediaItem(&self, pimfpmediaitem: Ref<'_, IMFPMediaItem>) -> Result<()>
fn ClearMediaItem(&self) -> Result<()>
fn GetMediaItem(&self) -> Result<IMFPMediaItem>
fn GetVolume(&self) -> Result<f32>
fn SetVolume(&self, flvolume: f32) -> Result<()>
fn GetBalance(&self) -> Result<f32>
fn SetBalance(&self, flbalance: f32) -> Result<()>
fn GetMute(&self) -> Result<BOOL>
fn SetMute(&self, fmute: BOOL) -> Result<()>
fn GetNativeVideoSize( &self, pszvideo: *mut SIZE, pszarvideo: *mut SIZE, ) -> Result<()>
fn GetIdealVideoSize(&self, pszmin: *mut SIZE, pszmax: *mut SIZE) -> Result<()>
fn SetVideoSourceRect( &self, pnrcsource: *const MFVideoNormalizedRect, ) -> Result<()>
fn GetVideoSourceRect(&self) -> Result<MFVideoNormalizedRect>
fn SetAspectRatioMode(&self, dwaspectratiomode: u32) -> Result<()>
fn GetAspectRatioMode(&self) -> Result<u32>
fn GetVideoWindow(&self) -> Result<HWND>
fn UpdateVideo(&self) -> Result<()>
fn SetBorderColor(&self, clr: COLORREF) -> Result<()>
fn GetBorderColor(&self) -> Result<COLORREF>
fn InsertEffect( &self, peffect: Ref<'_, IUnknown>, foptional: BOOL, ) -> Result<()>
fn RemoveEffect(&self, peffect: Ref<'_, IUnknown>) -> Result<()>
fn RemoveAllEffects(&self) -> Result<()>
fn Shutdown(&self) -> 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.