diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-03-23 15:01:45 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-03-23 15:01:45 +0000 |
commit | 7a43582b9692b0dca7b026553812373bf24d4db2 (patch) | |
tree | 8f6d2fa5ca40718bc6b83495e9c358f75b15967e /src | |
parent | b4a5e1262a069efc1cea3fc4b4c85003b9ec04df (diff) | |
download | xine-lib-7a43582b9692b0dca7b026553812373bf24d4db2.tar.gz xine-lib-7a43582b9692b0dca7b026553812373bf24d4db2.tar.bz2 |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/xine-engine/video_overlay.c | 24 |
1 files 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"); |