diff options
-rw-r--r-- | avmedia/source/framework/MediaControlBase.cxx | 2 | ||||
-rw-r--r-- | avmedia/source/framework/mediacontrol.cxx | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/avmedia/source/framework/MediaControlBase.cxx b/avmedia/source/framework/MediaControlBase.cxx index 9cd55282226a..4caedac9db2b 100644 --- a/avmedia/source/framework/MediaControlBase.cxx +++ b/avmedia/source/framework/MediaControlBase.cxx @@ -163,7 +163,7 @@ void MediaControlBase::UpdateToolBoxes(MediaItem aMediaItem) mpPlayToolBox->CheckItem( AVMEDIA_TOOLBOXITEM_PAUSE, false ); mpPlayToolBox->CheckItem( AVMEDIA_TOOLBOXITEM_STOP, false ); } - else if( aMediaItem.getTime() > 0.0 && ( aMediaItem.getTime() < aMediaItem.getDuration() ) ) + else if( aMediaItem.getState() == MediaState::Pause ) { mpPlayToolBox->CheckItem( AVMEDIA_TOOLBOXITEM_PLAY, false ); mpPlayToolBox->CheckItem( AVMEDIA_TOOLBOXITEM_PAUSE ); diff --git a/avmedia/source/framework/mediacontrol.cxx b/avmedia/source/framework/mediacontrol.cxx index 0988c88c0d13..e194a2296fef 100644 --- a/avmedia/source/framework/mediacontrol.cxx +++ b/avmedia/source/framework/mediacontrol.cxx @@ -274,6 +274,8 @@ IMPL_LINK( MediaControl, implTimeEndHdl, Slider*, p, void ) MediaItem aExecItem; aExecItem.setTime( p->GetThumbPos() * maItem.getDuration() / AVMEDIA_TIME_RANGE ); + // keep state (if the media was playing, keep it playing) + aExecItem.setState(maItem.getState()); execute( aExecItem ); update(); maIdle.Start(); |