美文网首页
ffplay 源码分析FrameQueue(视频...)

ffplay 源码分析FrameQueue(视频...)

作者: TakeCare_e819 | 来源:发表于2017-03-17 17:32 被阅读0次

    1、结构  

              typedef struct FrameQueue {

                      Frame queue[FRAME_QUEUE_SIZE];

                       int rindex;//queue数组的读取位

                       int windex;//queue数组的写入位

                        int size;  //queue实际有数据个数

                        int max_size;//queue最大个数

                        int keep_last;//看初始化

                        int rindex_shown;//已经读取的个数,读数之后一直为1

                        SDL_mutex *mutex;

                         SDL_cond *cond;

                         PacketQueue *pktq;

                    } FrameQueue;

              if (frame_queue_init(&is->pictq, &is->videoq, VIDEO_PICTURE_QUEUE_SIZE, 1) < 0)

                goto fail;

               if (frame_queue_init(&is->subpq, &is->subtitleq, SUBPICTURE_QUEUE_SIZE, 0) < 0)

                goto fail;

               if (frame_queue_init(&is->sampq, &is->audioq, SAMPLE_QUEUE_SIZE, 1) < 0)

               goto fail;

              初始化得知视频是数组个数为三,rindex标记读取位,windex标记插入位,则数组三个循环读取写入。

    2、static int queue_picture() 写入帧、static Frame *frame_queue_peek_last() 读取帧

         static void frame_queue_push() size计数加1 、static void frame_queue_next() size计数减1

    相关文章

      网友评论

          本文标题:ffplay 源码分析FrameQueue(视频...)

          本文链接:https://www.haomeiwen.com/subject/iwnenttx.html