2013-09-02 2 views
0

Кто-нибудь знает, как сделать видео с помощью ffmpeg + Opengl play непрерывно ?. Потому что это только один раз игралffmpeg + play video loop

tiempo = glfwGetTime(); 
duracion = 1.0/25.0; // 1 second/25 fps 

while(1){ 

...   

    if(glfwGetTime() > tiempo + duracion){ 
    if(av_read_frame(pFormatCtx,&packet) >= 0){ 
     if(packet.stream_index == 0){ 
     avcodec_decode_video2(pCodecCtx,pFrame,&frameFin,&packet); 
     if(frameFin)sws_scale(img_convert_ctx,pFrame->data,pFrame->linesize,0,pCodecCtx->height,pFrameRGB->data,pFrameRGB->linesize); 
     } 
     av_free_packet(&packet); 
    } 
    tiempo += duracion; 
    } 

... 

} 

Я знаю av_read_frame функция (...) возвращает 0, если конец файла. Но как заставить функцию снова возвращать значение, отличное от нуля? o Как я могу сделать видео постоянно повторяющимся?

ответ

2

От documentqtion lavf_decoding.html # ga4fdb3084415a82e3810de6ee60e46a61" > http://ffmpeg.org/doxygen/trunk/group_ lavf _decoding.html # ga4fdb3084415a82e3810de6ee60e46a61

0, если OK, < 0 по ошибке или в конце файла

< так, если 0, то звоните av_seek_frame

, чтобы вернуться к началу (тот же документ)

+0

Отличный друг! Спасибо. –