diff options
author | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-01-14 00:34:22 +0000 |
---|---|---|
committer | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-01-14 00:34:22 +0000 |
commit | 572cb8c2f417e480c16089aac768674b89302ac3 (patch) | |
tree | 1ef1397eda19e34fde80f02e6947e0073d0ddee2 /src/xine-engine | |
parent | d22f98cc9380caedf0020b0f8ea5c40bb992f82a (diff) | |
download | xine-lib-572cb8c2f417e480c16089aac768674b89302ac3.tar.gz xine-lib-572cb8c2f417e480c16089aac768674b89302ac3.tar.bz2 |
miguel's latest still frame patches and some minor cleanups
CVS patchset: 1401
CVS date: 2002/01/14 00:34:22
Diffstat (limited to 'src/xine-engine')
-rw-r--r-- | src/xine-engine/metronom.c | 4 | ||||
-rw-r--r-- | src/xine-engine/video_decoder.c | 3 | ||||
-rw-r--r-- | src/xine-engine/video_out.c | 19 | ||||
-rw-r--r-- | src/xine-engine/video_out.h | 4 |
4 files changed, 15 insertions, 15 deletions
diff --git a/src/xine-engine/metronom.c b/src/xine-engine/metronom.c index 65d62966d..e3e34b052 100644 --- a/src/xine-engine/metronom.c +++ b/src/xine-engine/metronom.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000-2001 the xine project + * Copyright (C) 2000-2002 the xine project * * This file is part of xine, a unix video player. * @@ -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: metronom.c,v 1.48 2002/01/06 00:49:01 guenter Exp $ + * $Id: metronom.c,v 1.49 2002/01/14 00:34:22 guenter Exp $ */ #ifdef HAVE_CONFIG_H diff --git a/src/xine-engine/video_decoder.c b/src/xine-engine/video_decoder.c index 4573e56e9..d4fef6664 100644 --- a/src/xine-engine/video_decoder.c +++ b/src/xine-engine/video_decoder.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_decoder.c,v 1.69 2002/01/05 18:14:27 jcdutton Exp $ + * $Id: video_decoder.c,v 1.70 2002/01/14 00:34:22 guenter Exp $ * */ @@ -188,7 +188,6 @@ void *video_decoder_loop (void *this_gen) { this->metronom->expect_video_discontinuity (this->metronom); this->video_in_discontinuity = 0; - this->video_out->still_counter = 0; break; case BUF_VIDEO_FILL: diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index 869fbba57..f5a13d71d 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000, 2001 the xine project + * Copyright (C) 2000-2002 the xine project * * This file is part of xine, a unix video player. * @@ -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.64 2002/01/08 01:04:30 miguelfreitas Exp $ + * $Id: video_out.c,v 1.65 2002/01/14 00:34:22 guenter Exp $ * */ @@ -194,7 +194,6 @@ static void *video_out_loop (void *this_gen) { static int prof_spu_blend = -1; sigset_t vo_mask; - uint32_t last_draw_vpts = 0; int flush_sent = 0; /* printf ("%d video_out start\n", getpid()); */ @@ -205,7 +204,8 @@ static void *video_out_loop (void *this_gen) { prof_spu_blend = xine_profiler_allocate_slot ("spu blend"); img_backup = NULL; - + this->last_draw_vpts = 0; + /* * set up timer signal */ @@ -265,18 +265,18 @@ static void *video_out_loop (void *this_gen) { /* update timer for inactivity flush */ if( img ) { - last_draw_vpts = cur_pts; + this->last_draw_vpts = cur_pts; } else { /* start timer when decoder receives the first packet */ - if( !last_draw_vpts && this->decoder_started_flag ) - last_draw_vpts = cur_pts; + if( !this->last_draw_vpts && this->decoder_started_flag ) + this->last_draw_vpts = cur_pts; - if( last_draw_vpts && (cur_pts - last_draw_vpts) > (8 * this->pts_per_frame) ) { + if( this->last_draw_vpts && (cur_pts - this->last_draw_vpts) > (8 * this->pts_per_frame) ) { #ifdef VIDEO_OUT_LOG printf("video_out : sending decoder flush due to inactivity\n"); #endif video_out_send_decoder_flush( this->xine->video_fifo ); - last_draw_vpts = cur_pts; + this->last_draw_vpts = cur_pts; flush_sent = 1; } } @@ -745,6 +745,7 @@ static int vo_frame_draw (vo_frame_t *img) { this->num_frames_delivered++; cur_vpts = this->metronom->get_current_time(this->metronom); + this->last_draw_vpts = cur_vpts; diff = pic_vpts - cur_vpts; frames_to_skip = ((-1 * diff) / this->pts_per_frame + 3) * 2; diff --git a/src/xine-engine/video_out.h b/src/xine-engine/video_out.h index d5e7f1590..1dfbf70da 100644 --- a/src/xine-engine/video_out.h +++ b/src/xine-engine/video_out.h @@ -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.h,v 1.36 2002/01/10 12:20:17 jcdutton Exp $ + * $Id: video_out.h,v 1.37 2002/01/14 00:34:22 guenter Exp $ * * * xine version of video_out.h @@ -181,7 +181,7 @@ struct vo_instance_s { int num_frames_discarded; int decoder_started_flag; - int still_counter;/* still_counter>8 => still frames will be generated */ + uint32_t last_draw_vpts; } ; /* constants for the get/set property functions */ |