From: Miguel F. <mig...@us...> - 2002-03-14 13:57:19
|
Update of /cvsroot/xine/xine-lib/src/xine-engine In directory usw-pr-cvs1:/tmp/cvs-serv17484/src/xine-engine Modified Files: osd.c osd.h video_out.h video_overlay.c video_overlay.h xine.c Log Message: - make libsputext work again - update osd & video_overlay to use 64-bits pts Index: osd.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/xine-engine/osd.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- osd.c 14 Mar 2002 04:31:49 -0000 1.14 +++ osd.c 14 Mar 2002 13:57:15 -0000 1.15 @@ -140,7 +140,7 @@ * send the osd to be displayed at given pts (0=now) * the object is not changed. there may be subsequent drawing on it. */ -static int osd_show (osd_object_t *osd, uint32_t vpts ) { +static int osd_show (osd_object_t *osd, int64_t vpts ) { osd_renderer_t *this = osd->renderer; rle_elem_t rle, *rle_p=0; @@ -148,7 +148,7 @@ uint8_t *c; #ifdef LOG_DEBUG - printf("osd_show %p vpts=%d\n", osd, vpts); + printf("osd_show %p vpts=%lld\n", osd, vpts); #endif if( osd->handle < 0 ) { @@ -230,12 +230,12 @@ * send event to hide osd at given pts (0=now) * the object is not changed. there may be subsequent drawing on it. */ -static int osd_hide (osd_object_t *osd, uint32_t vpts) { +static int osd_hide (osd_object_t *osd, int64_t vpts) { osd_renderer_t *this = osd->renderer; #ifdef LOG_DEBUG - printf("osd_hide %p vpts=%d\n",osd, vpts); + printf("osd_hide %p vpts=%lld\n",osd, vpts); #endif if( osd->handle < 0 ) Index: osd.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/xine-engine/osd.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- osd.h 14 Mar 2002 04:31:49 -0000 1.8 +++ osd.h 14 Mar 2002 13:57:15 -0000 1.9 @@ -56,13 +56,13 @@ * send the osd to be displayed at given pts (0=now) * the object is not changed. there may be subsequent drawing on it. */ - int (*show) (osd_object_t *osd, uint32_t vpts ); + int (*show) (osd_object_t *osd, int64_t vpts ); /* * send event to hide osd at given pts (0=now) * the object is not changed. there may be subsequent drawing on it. */ - int (*hide) (osd_object_t *osd, uint32_t vpts ); + int (*hide) (osd_object_t *osd, int64_t vpts ); /* * Bresenham line implementation on osd object Index: video_out.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/xine-engine/video_out.h,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- video_out.h 14 Mar 2002 04:31:49 -0000 1.49 +++ video_out.h 14 Mar 2002 13:57:15 -0000 1.50 @@ -354,7 +354,7 @@ void (*flush_events) (video_overlay_instance_t *this_gen ); - void (*multiple_overlay_blend) (video_overlay_instance_t *this_gen, int vpts, + void (*multiple_overlay_blend) (video_overlay_instance_t *this_gen, int64_t vpts, vo_driver_t *output, vo_frame_t *vo_img, int enabled); }; Index: video_overlay.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/xine-engine/video_overlay.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- video_overlay.c 14 Mar 2002 04:31:49 -0000 1.15 +++ video_overlay.c 14 Mar 2002 13:57:15 -0000 1.16 @@ -329,7 +329,7 @@ process overlay events if vpts == 0 will process everything now (used in flush) */ -static void video_overlay_event( video_overlay_t *this, int vpts ) { +static void video_overlay_event( video_overlay_t *this, int64_t vpts ) { int32_t handle; uint32_t this_event; @@ -567,7 +567,7 @@ } if ( (this->video_overlay_events[this_event].event->object.pts != this->video_overlay_objects[handle].pts) ) { - printf ("MENU BUTTON DROPPED menu pts=%u spu pts=%u\n", + printf ("MENU BUTTON DROPPED menu pts=%lld spu pts=%lld\n", this->video_overlay_events[this_event].event->object.pts, this->video_overlay_objects[handle].pts); } @@ -602,7 +602,7 @@ /* This is called from video_out.c * must call output->overlay_blend for each active overlay. */ -static void video_overlay_multiple_overlay_blend(video_overlay_instance_t *this_gen, int vpts, +static void video_overlay_multiple_overlay_blend(video_overlay_instance_t *this_gen, int64_t vpts, vo_driver_t *output, vo_frame_t *vo_img, int enabled) { video_overlay_t *this = (video_overlay_t *) this_gen; int i; Index: video_overlay.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/xine-engine/video_overlay.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- video_overlay.h 8 Mar 2002 13:50:41 -0000 1.6 +++ video_overlay.h 14 Mar 2002 13:57:15 -0000 1.7 @@ -78,7 +78,7 @@ typedef struct video_overlay_object_s { int32_t handle; /* Used to match Show and Hide events. */ uint32_t object_type; /* 0=Subtitle, 1=Menu */ - uint32_t pts; /* Needed for Menu button compares */ + int64_t pts; /* Needed for Menu button compares */ vo_overlay_t *overlay; /* The image data. */ uint32_t palette_type; /* 1 Y'CrCB, 2 R'G'B' */ uint32_t *palette; /* If NULL, no palette contained in this event. */ @@ -89,7 +89,7 @@ /* This will hold all details of an event item, needed for event queue to function */ typedef struct video_overlay_event_s { uint32_t event_type; /* Show SPU, Show OSD, Hide etc. */ - uint32_t vpts; /* Time when event will action. 0 means action now */ + int64_t vpts; /* Time when event will action. 0 means action now */ /* Once video_out blend_yuv etc. can take rle_elem_t with Colour, blend and length information. * we can remove clut and blend from this structure. * This will allow for many more colours for OSD. Index: xine.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/xine-engine/xine.c,v retrieving revision 1.108 retrieving revision 1.109 diff -u -r1.108 -r1.109 --- xine.c 12 Mar 2002 19:51:29 -0000 1.108 +++ xine.c 14 Mar 2002 13:57:15 -0000 1.109 @@ -383,7 +383,7 @@ xine_set_speed_internal (this, SPEED_NORMAL); /* osd */ - xine_internal_osd (this, ">", 0, 300000); + xine_internal_osd (this, ">", this->metronom->get_current_time (this->metronom), 300000); } |