add isAvailabe() for AVOutput. If open init/failed, it's false

TODO: DO NOT decode(or at least convert data) if the output is not
available
demux thread may blocked when seeking try to lock

TODO: is unlock then lock it safe? How about locked by demux thread
immediatly when unlock and block the thread?
Update the clock after seeking. Add warnings

New clock value may be used in AVThread.
Fix play error if audio output not available or decode failed

sleep delta pts if decode failed. sleep a chunk play time if audio
output not available
TODO: DO NOT decode and convert if audio output is not available
return false if decoded audio format not supported here

TODO: deal with planar formats
TODO. 1.Pause AVThread. 2.framework and optimization design

if AVOutput is null, we can not access the pause state from it. So pause
state stored in AVThread is required
misc