ffplay 源碼分析FrameQueue(視頻...)

1、結(jié)構(gòu) ?

? ? ? ? ? typedef struct FrameQueue {

? ? ? ? ? ? ? ? ? Frame queue[FRAME_QUEUE_SIZE];

? ? ? ? ? ? ? ? ? ?int rindex;//queue數(shù)組的讀取位

? ? ? ? ? ? ? ? ? ?int windex;//queue數(shù)組的寫(xiě)入位

? ? ? ? ? ? ? ? ? ? int size;? //queue實(shí)際有數(shù)據(jù)個(gè)數(shù)

? ? ? ? ? ? ? ? ? ? int max_size;//queue最大個(gè)數(shù)

? ? ? ? ? ? ? ? ? ? int keep_last;//看初始化

? ? ? ? ? ? ? ? ? ? int rindex_shown;//已經(jīng)讀取的個(gè)數(shù),讀數(shù)之后一直為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;

? ? ? ? ? 初始化得知視頻是數(shù)組個(gè)數(shù)為三,rindex標(biāo)記讀取位,windex標(biāo)記插入位,則數(shù)組三個(gè)循環(huán)讀取寫(xiě)入。

2、static int queue_picture() 寫(xiě)入幀、static Frame *frame_queue_peek_last() 讀取幀

? ? ?static void frame_queue_push() size計(jì)數(shù)加1 、static void frame_queue_next() size計(jì)數(shù)減1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 教程一:視頻截圖(Tutorial 01: Making Screencaps) 首先我們需要了解視頻文件的一些基...
    90后的思維閱讀 4,792評(píng)論 0 3
  • 最近學(xué)習(xí)播放器的一些東西,所以接觸了ffmpeg,看源碼的過(guò)程中,就想了解一下ffplay是怎么處理音視頻同步的,...
    smm987閱讀 4,450評(píng)論 0 5
  • 在上一篇筆記中我們已經(jīng)完成了使用SDL播放聲音和視頻,聲音播放沒(méi)有什么問(wèn)題,而視頻播放太快,很明顯視頻沒(méi)有同步。在...
    762683ff5d3d閱讀 1,360評(píng)論 0 1
  • 根據(jù)ffmpeg官方網(wǎng)站上的例子程序開(kāi)始學(xué)習(xí)ffmpeg和SDL編程。 SDL是一個(gè)跨平臺(tái)的多媒體開(kāi)發(fā)包。適用于游...
    762683ff5d3d閱讀 1,845評(píng)論 0 2
  • 失望是狗哥 希望是雞哥 絕望是鴕鳥(niǎo) 期望是放歌 沒(méi)事寫(xiě)首歌 風(fēng)來(lái)多蕭瑟 沒(méi)事閃幾下(打閃) 我就想高歌 楓葉瀟瀟起...
    導(dǎo)演張升志閱讀 280評(píng)論 0 0