fires bufferLevelStateChanged event only if the state is acatually changed