diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index b8cf3e667ef6ff372b14516bbd2ae51a88a00b88..1a183d61f35811e9e9c44ad5fa6043670a66859d 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1024,7 +1024,14 @@ void LLViewerMediaImpl::navigateBack() { if(mMediaSource->pluginSupportsMediaTime()) { - mMediaSource->start(-2.0); + F64 step_scale = 0.02; // temp , can be changed + F64 back_step = mMediaSource->getCurrentTime() - (mMediaSource->getDuration()*step_scale); + if(back_step < 0.0) + { + back_step = 0.0; + } + mMediaSource->seek(back_step); + //mMediaSource->start(-2.0); } else { @@ -1040,7 +1047,14 @@ void LLViewerMediaImpl::navigateForward() { if(mMediaSource->pluginSupportsMediaTime()) { - mMediaSource->start(2.0); + F64 step_scale = 0.02; // temp , can be changed + F64 forward_step = mMediaSource->getCurrentTime() + (mMediaSource->getDuration()*step_scale); + if(forward_step > mMediaSource->getDuration()) + { + forward_step = mMediaSource->getDuration(); + } + mMediaSource->seek(forward_step); + //mMediaSource->start(2.0); } else {