In the class Bottle_Base there are two loops for Pouring and Emptying vessels. But someone forgot to set loop = true in the parameters, so they are not actually looping.
Ingame this means that if the action takes longer than the source sound (which is the case for CanisterGasoline for example) the last bit of the action has no sound.
To fix this, just set the loop = true as follows.
scripts\4_World\Entities\ItemBase\Edible_Base\Bottle_Base.c
class Bottle_Base { ... void PlayPouringLoopSound() { if ( !m_PouringLoopSound.IsSoundPlaying() ) { m_PouringLoopSound = SEffectManager.PlaySound( GetPouringSoundset(), GetPosition(), 0, 0, true ); } } ... void PlayEmptyingLoopSound() { if ( !m_EmptyingLoopSound.IsSoundPlaying() ) { m_EmptyingLoopSound = SEffectManager.PlaySound( GetEmptyingLoopSoundset(), GetPosition(), 0, 0, true ); } } .... }
The 0 and 0 are the fade in and fadeout time and 0 is the default value that is active in-game right now.