From 7a43582b9692b0dca7b026553812373bf24d4db2 Mon Sep 17 00:00:00 2001 From: Michael Roitzsch Date: Sun, 23 Mar 2003 15:01:45 +0000 Subject: fix some DVD menus where highlights would not be shown the PTS matching done in overlay manager (and which fails in these menus) seems to be unnecessary - I watch all my DVDs with the DXR3 plugins and they do not do such a matching and always show the highlights nicely CVS patchset: 4471 CVS date: 2003/03/23 15:01:45 --- src/xine-engine/video_overlay.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/xine-engine/video_overlay.c b/src/xine-engine/video_overlay.c index fd51c4699..e1cf4fb7f 100644 --- a/src/xine-engine/video_overlay.c +++ b/src/xine-engine/video_overlay.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_overlay.c,v 1.27 2002/11/20 11:57:49 mroi Exp $ + * $Id: video_overlay.c,v 1.28 2003/03/23 15:01:45 mroi Exp $ * */ @@ -413,10 +413,20 @@ static int video_overlay_event( video_overlay_t *this, int64_t vpts ) { #ifdef LOG_DEBUG printf ("video_overlay:MENU BUTTON NOW\n"); #endif - if ( (this->events[this_event].event->object.overlay != NULL) && - (this->objects[handle].overlay) && - (this->events[this_event].event->object.pts == +#if 0 + /* This code drops buttons, where the button PTS derived from the NAV + * packet on DVDs does not match the SPU PTS. Practical experience shows, + * that this is not necessary and causes problems with some DVDs */ + if ( (this->events[this_event].event->object.pts != this->objects[handle].pts) ) { + printf ("video_overlay:MENU BUTTON DROPPED menu pts=%lld spu pts=%lld\n", + this->events[this_event].event->object.pts, + this->objects[handle].pts); + break; + } +#endif + if ( (this->events[this_event].event->object.overlay != NULL) && + (this->objects[handle].overlay) ) { vo_overlay_t *overlay = this->objects[handle].overlay; vo_overlay_t *event_overlay = this->events[this_event].event->object.overlay; @@ -444,12 +454,6 @@ static int video_overlay_event( video_overlay_t *this, int64_t vpts ) { } else { printf ("video_overlay:overlay not present\n"); } - if ( (this->events[this_event].event->object.pts != - this->objects[handle].pts) ) { - printf ("video_overlay:MENU BUTTON DROPPED menu pts=%lld spu pts=%lld\n", - this->events[this_event].event->object.pts, - this->objects[handle].pts); - } if( this->events[this_event].event->object.overlay->rle ) { printf ("video_overlay: warning EVENT_MENU_BUTTON with rle data\n"); -- cgit v1.2.3