vlc 播放视频的过程分析 {7} pcr,pts

vlc 播放视频的过程分析 {7} pcr,pts

最近用vlc的0.9.9播放一段视频,出现了下列警告:

decoder is leaking pictures, resetting the heap


/*****************************************************************************
 * RunThread: video output thread
 *****************************************************************************
 * Video output thread. This function does only returns when the thread is
 * terminated. It handles the pictures arriving in the video heap and the
 * display device events.
 *****************************************************************************/
static void RunThread( vout_thread_t *p_vout)

在这个函数里面,看到下列code, 很难理解了, 
!p_picture->b_force &&
                p_picture != p_last_picture &&
                display_date < current_date + p_vout->render_time &&
                b_drop_late )


这个p_vout->render_time ,到底是怎么算出来的。

到底,pcr,pts,出现了什么错误,导致不能播放,还没有搞清楚。

以下内容为转载:
http://www.wangchao.net.cn/bbsdetail_61529.html

vout_DatePicture ( vout_thread_t *p_vout, picture_t *p_pic ) : Gives the picture a presentation date. You can start working on a picture before knowing precisely at what time it will be displayed. For instance to date an I or P picture, you must wait until you have decoded all previous B pictures (which are indeed placed after - decoding order != presentation order).
  vout_DisplayPicture ( vout_thread_t *p_vout, picture_t *p_pic ) : Tells the video output that a picture has been completely decoded and is ready to be rendered. It can be called before or after vout_DatePicture.
   vout_DestroyPicture ( vout_thread_t *p_vout, picture_t *p_pic ) : Marks the picture as empty (useful in case of a stream parsing error).

不过上面这个内容说的很简洁了,不详细。




TS,MPEG2,dvbc专家 2009-09-23 08:48 发表评论

文章来源: http://www.cnitblog.com/dvb-dvb/archive/2009/09/23/61531.html

你可能感兴趣的:(vlc 播放视频的过程分析 {7} pcr,pts)