decoder: handle pause within the decoder thread
decoder: handle pause within the decoder thread

This removes the last direct (ab)use of the audio output object from
the input thread, and the penultimate one of the video output object.

This solves some race conditions whereby the output pause state was
enabled by the input thread, while the decoder thread had decoded data
blocks to queue for playing. Decoded blocks should never get queued
during pause.

xkfz007/vlc,xkfz007/vlc,xkfz007/vlc,xkfz007/vlc,xkfz007/vlc,xkfz007/vlc,xkfz007/vlc