Merge pull request #2220 from irei1as/development

Changes for SFXSound::setPosition(time)
This commit is contained in:
Areloch 2019-03-30 18:42:19 -05:00 committed by GitHub
commit b6185370be
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 2 deletions

View file

@ -281,9 +281,22 @@ void AsyncPacketBufferedInputStream< Stream, Packet >::_requestNext()
IResettable* resettable = dynamic_cast< IResettable* >( s );
if( resettable )
{
IPositionable< U32 >* positionable = dynamic_cast< IPositionable< U32 >* >( &Deref( stream ) );
U32 pos;
if(positionable)
pos = positionable->getPosition();
resettable->reset();
isEOS = false;
this->mNumRemainingSourceElements = mNumTotalSourceElements;
if( positionable )
{
positionable->setPosition(pos);
U32 dur = stream->getDuration();
if(dur != 0) //avoiding division by zero? not needed, probably
this->mNumRemainingSourceElements -= (U32)(mNumTotalSourceElements*(F32)pos/dur);
}
}
}
else if( isEOS )