From 30bdd48615d44dc1cb1bce2766f6f9d5d61fda14 Mon Sep 17 00:00:00 2001 From: Guenter Bartsch Date: Sun, 17 Feb 2002 00:06:58 +0000 Subject: each frame has an id for debugging purposes now; xshm driver can at least display the logo without crashing now :-) CVS patchset: 1501 CVS date: 2002/02/17 00:06:58 --- src/video_out/video_out_xshm.c | 37 ++++++++++++++++++++----------------- src/xine-engine/video_out.c | 10 ++++++++-- src/xine-engine/video_out.h | 4 +++- 3 files changed, 31 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/video_out/video_out_xshm.c b/src/video_out/video_out_xshm.c index 2b4e591a6..71d0ae223 100644 --- a/src/video_out/video_out_xshm.c +++ b/src/video_out/video_out_xshm.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_xshm.c,v 1.57 2002/02/16 22:43:24 guenter Exp $ + * $Id: video_out_xshm.c,v 1.58 2002/02/17 00:06:58 guenter Exp $ * * video_out_xshm.c, X11 shared memory extension interface for xine * @@ -661,22 +661,6 @@ static void xshm_update_frame_format (vo_driver_t *this_gen, frame->stripe_height = 16 * frame->output_height / frame->height; - frame->rgb_dst = (uint8_t *)frame->image->data; - switch (flags) { - case VO_TOP_FIELD: - frame->rgb_dst = (uint8_t *)frame->image->data; - frame->stripe_inc = 2 * frame->stripe_height * frame->image->bytes_per_line; - break; - case VO_BOTTOM_FIELD: - frame->rgb_dst = (uint8_t *)frame->image->data + frame->image->bytes_per_line ; - frame->stripe_inc = 2 * frame->stripe_height * frame->image->bytes_per_line; - break; - case VO_BOTH_FIELDS: - frame->rgb_dst = (uint8_t *)frame->image->data; - frame->stripe_inc = frame->stripe_height * frame->image->bytes_per_line; - break; - } - /* * set up colorspace converter */ @@ -707,6 +691,25 @@ static void xshm_update_frame_format (vo_driver_t *this_gen, break; } } + + /* + * reset dest pointers + */ + + switch (flags) { + case VO_TOP_FIELD: + frame->rgb_dst = (uint8_t *)frame->image->data; + frame->stripe_inc = 2 * frame->stripe_height * frame->image->bytes_per_line; + break; + case VO_BOTTOM_FIELD: + frame->rgb_dst = (uint8_t *)frame->image->data + frame->image->bytes_per_line ; + frame->stripe_inc = 2 * frame->stripe_height * frame->image->bytes_per_line; + break; + case VO_BOTH_FIELDS: + frame->rgb_dst = (uint8_t *)frame->image->data; + frame->stripe_inc = frame->stripe_height * frame->image->bytes_per_line; + break; + } } static void xshm_overlay_clut_yuv2rgb(xshm_driver_t *this, vo_overlay_t *overlay, diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index ab2b53cbb..d1d669129 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.72 2002/02/16 23:37:55 guenter Exp $ + * $Id: video_out.c,v 1.73 2002/02/17 00:06:58 guenter Exp $ * * frame allocation / queuing / scheduling / output functions */ @@ -649,8 +649,12 @@ static void *video_out_loop (void *this_gen) { * if we have found a frame, display it */ - if (img) + if (img) { +#ifdef VIDEO_OUT_LOG + printf ("video_out: displaying frame (id=%d)\n", img->id); +#endif overlay_and_display_frame (this, img); + } /* * if we haven't heared from the decoder for some time @@ -948,6 +952,8 @@ vo_instance_t *vo_new_instance (vo_driver_t *driver, xine_t *xine) { vo_frame_t *img; img = driver->alloc_frame (driver) ; + + img->id = i; img->instance = &this->vo; img->free = vo_frame_free ; diff --git a/src/xine-engine/video_out.h b/src/xine-engine/video_out.h index 0539b9bc3..f9ebd68f2 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.42 2002/02/16 23:37:55 guenter Exp $ + * $Id: video_out.h,v 1.43 2002/02/17 00:06:58 guenter Exp $ * * * xine version of video_out.h @@ -102,6 +102,8 @@ struct vo_frame_s { vo_instance_t *instance; vo_driver_t *driver; + int id; /* debugging - track this frame */ + /* * member functions */ -- cgit v1.2.3