player: fix crash if no audio stream
codec open/close move from demuxer to decoder is more reasonable

TODO:
remove AVCodecContext var in AVDemuxer to avoid misunderstand
remove AVClock in AVDemuxer
remove AVClocek in demuxer. remove unnecessary seek functions