File tree Expand file tree Collapse file tree 4 files changed +28
-6
lines changed
Expand file tree Collapse file tree 4 files changed +28
-6
lines changed Original file line number Diff line number Diff line change @@ -80,16 +80,21 @@ namespace AX
8080 _impl->TogglePlayback ( );
8181 }
8282
83- void MediaPlayer::SetPlaybackRate ( float rate )
83+ bool MediaPlayer::SetPlaybackRate ( float rate )
8484 {
85- _impl->SetPlaybackRate ( rate );
85+ return _impl->SetPlaybackRate ( rate );
8686 }
8787
8888 float MediaPlayer::GetPlaybackRate ( ) const
8989 {
9090 return _impl->GetPlaybackRate ( );
9191 }
9292
93+ bool MediaPlayer::IsPlaybackRateSupported ( float rate ) const
94+ {
95+ return _impl->IsPlaybackRateSupported ( rate );
96+ }
97+
9398 void MediaPlayer::SetMuted ( bool mute )
9499 {
95100 _impl->SetMuted ( mute );
Original file line number Diff line number Diff line change @@ -67,8 +67,9 @@ namespace AX::Video
6767 void Pause ( );
6868 void TogglePlayback ( );
6969
70- void SetPlaybackRate ( float rate );
70+ bool SetPlaybackRate ( float rate );
7171 float GetPlaybackRate ( ) const ;
72+ bool IsPlaybackRateSupported ( float rate ) const ;
7273
7374 void SetMuted ( bool mute );
7475 bool IsMuted ( ) const ;
Original file line number Diff line number Diff line change @@ -456,12 +456,17 @@ namespace AX::Video
456456 }
457457 }
458458
459- void MediaPlayer::Impl::SetPlaybackRate ( float rate )
459+ bool MediaPlayer::Impl::SetPlaybackRate ( float rate )
460460 {
461461 if ( _mediaEngine )
462462 {
463- _mediaEngine->SetPlaybackRate ( rate );
463+ if ( IsPlaybackRateSupported ( rate ) )
464+ {
465+ return SUCCEEDED ( _mediaEngine->SetPlaybackRate ( static_cast <double > ( rate ) ) );
466+ }
464467 }
468+
469+ return false ;
465470 }
466471
467472 float MediaPlayer::Impl::GetPlaybackRate ( ) const
@@ -474,6 +479,16 @@ namespace AX::Video
474479 return 1 .0f ;
475480 }
476481
482+ bool MediaPlayer::Impl::IsPlaybackRateSupported ( float rate ) const
483+ {
484+ if ( _mediaEngineEx )
485+ {
486+ return _mediaEngineEx->IsPlaybackRateSupported ( static_cast <double > ( rate ) );
487+ }
488+
489+ return false ;
490+ }
491+
477492 void MediaPlayer::Impl::SetMuted ( bool mute )
478493 {
479494 if ( _mediaEngine )
Original file line number Diff line number Diff line change @@ -89,8 +89,9 @@ namespace AX::Video
8989 void Pause ( );
9090 void TogglePlayback ( );
9191
92- void SetPlaybackRate ( float rate );
92+ bool SetPlaybackRate ( float rate );
9393 float GetPlaybackRate ( ) const ;
94+ bool IsPlaybackRateSupported ( float rate ) const ;
9495
9596 void SetMuted ( bool mute );
9697 bool IsMuted ( ) const ;
You can’t perform that action at this time.
0 commit comments