ret == 0 means EOF. Don't update the texture; it'll loop and update it again right away. This caused an update before the previous parallel unlock had finished, which apparently triggered the slow path in the driver and caused a 15ms skip.
This commit is contained in:
@@ -460,7 +460,7 @@ int MovieTexture_Generic::GetFrame( float fTargetTime )
|
|||||||
|
|
||||||
int ret = m_pDecoder->GetFrame( m_pSurface, fTargetTime );
|
int ret = m_pDecoder->GetFrame( m_pSurface, fTargetTime );
|
||||||
if( m_pTextureLock != NULL )
|
if( m_pTextureLock != NULL )
|
||||||
m_pTextureLock->Unlock( m_pSurface, ret != -1 );
|
m_pTextureLock->Unlock( m_pSurface, ret > 0 );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user