OK. This problem is really weird and it first started when I updated my Nvidia driver (previously using noveau).
The first thing I noticed was that when using headphones video playback gets muted - but only when someone is speaking - it only mutes the voice. Music playing before, after or during speech is loud.
Next I tried to see what it's like if I play a music video - I get muted vocals. Music sounds like the voice has been stripped out - kind of like karaoke music.
I tried disabling the Nvidia driver and reuse noveau and the problem persists.
This is where it gets really weird. I started playing around with sound settings and found that when I move the output balance to the left or right the voices get loud again. It seems like full left or full right both make voices the loudest but exactly in the middle will almost completely mute the voice. It seems like the balance is inverted with middle = full left for right audio and full right for left audio.
Again, this only affects the headphone - speaker audio is normal. And it affects voices but not music.
I tried playing some games and most of the sound comes out garbled - like cooked mp3s. Again, only on headphones.
One more thing. The "test speaker" function in the sound settings generate perfect output - no distortion. Only other software have the distortion.