diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-04-09 03:37:59 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-04-09 03:37:59 +0000 |
commit | 645f84663db1951293a7c821dccba45ebdabfcfe (patch) | |
tree | 25921d66b1107950db591aa98e2086623c5e83cd /src/xine-engine/video_out.c | |
parent | 28fd212fe15c240f337575a12057d3468e5ee05d (diff) | |
download | xine-lib-645f84663db1951293a7c821dccba45ebdabfcfe.tar.gz xine-lib-645f84663db1951293a7c821dccba45ebdabfcfe.tar.bz2 |
- new (fast) demuxer seeking scheme
- updated decoder api to allow reseting internal state on seeks
CVS patchset: 1696
CVS date: 2002/04/09 03:37:59
Diffstat (limited to 'src/xine-engine/video_out.c')
-rw-r--r-- | src/xine-engine/video_out.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index b090cddeb..43ccff317 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out.c,v 1.92 2002/04/02 19:29:09 esnel Exp $ + * $Id: video_out.c,v 1.93 2002/04/09 03:38:01 miguelfreitas Exp $ * * frame allocation / queuing / scheduling / output functions */ @@ -666,11 +666,14 @@ static void *video_out_loop (void *this_gen) { diff = vpts - this->last_delivery_pts; if (diff > 30000 && !this->display_img_buf_queue->first) { if (this->xine->cur_video_decoder_plugin) { - this->xine->cur_video_decoder_plugin->flush(this->xine->cur_video_decoder_plugin); #ifdef LOG - printf ("video_out: flushing current video decoder plugin\n"); + printf ("video_out: flushing current video decoder plugin (%d %d)\n", + this->display_img_buf_queue->num_buffers, + this->free_img_buf_queue->num_buffers); #endif + + this->xine->cur_video_decoder_plugin->flush(this->xine->cur_video_decoder_plugin); } this->last_delivery_pts = vpts; } @@ -700,6 +703,10 @@ static void *video_out_loop (void *this_gen) { usec_to_sleep, vpts); #endif + if ( (next_frame_vpts - vpts) > 2*90000 ) + printf("video_out: vpts/clock error, next_vpts=%lld cur_vpts=%lld\n", + next_frame_vpts,vpts); + if (usec_to_sleep>0) xine_usec_sleep (usec_to_sleep); |