prepareAsync:主线程不断产生packet,放入PacketQueue* mQueue;//av_read_frame
start:视频解码形成从mQueue中取出一个packet,然后对此包进行操作://decode
在mpp中,该packet会进入mpp_list *mPackets;//decode_sendstream
从mpp_list *mFrames中取出一帧;//decode_getframe (该mFrames有没有排序)
在ffmpeg中,该packet进入avcodec_decode_video2,进行解码,得到一帧;(ffmpeg是不是只负责解码,没有mpp中类似的list)
再onDecode
RkFrameManage::pushframe(FrameQueue * frame,int direct)会调用mFrameQueue.push(frame);该函数主要是在mFrameQueue的尾部加入frame,在这个过程中形成Vector