From ab9faee8cb2f4f732ed371a0e28228d3659e5aae Mon Sep 17 00:00:00 2001 From: Michael Roitzsch Date: Fri, 8 Oct 2004 20:44:34 +0000 Subject: sync to current CVS of libdvdnav * fixes wrong subtitle appearing in the trailer of "Girl, Interrupted" RC2 * fixes "NAV packet expected, but none found" error when toggling between menu and feature with the Escape key CVS patchset: 7022 CVS date: 2004/10/08 20:44:34 --- src/input/libdvdnav/Makefile.am | 4 ++-- src/input/libdvdnav/diff_against_cvs.patch | 10 +++++----- src/input/libdvdnav/dvdnav.c | 14 ++++---------- src/input/libdvdnav/vm.c | 13 +++++++------ 4 files changed, 18 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/input/libdvdnav/Makefile.am b/src/input/libdvdnav/Makefile.am index 07b29091f..070a16f28 100644 --- a/src/input/libdvdnav/Makefile.am +++ b/src/input/libdvdnav/Makefile.am @@ -22,8 +22,8 @@ libdvdnav_la_SOURCES = \ dvd_reader.c \ dvd_input.c \ dvd_udf.c - -libdvdnav_la_LDFLAGS = $(THREAD_LIBS) -avoid-version -module +libdvdnav_la_LIBADD = $(THREAD_LIBS) +libdvdnav_la_LDFLAGS = -avoid-version -module noinst_HEADERS = \ decoder.h \ diff --git a/src/input/libdvdnav/diff_against_cvs.patch b/src/input/libdvdnav/diff_against_cvs.patch index 137c14478..39d3de466 100644 --- a/src/input/libdvdnav/diff_against_cvs.patch +++ b/src/input/libdvdnav/diff_against_cvs.patch @@ -11,7 +11,7 @@ this = (dvdnav_t*)malloc(sizeof(dvdnav_t)); --- src/input/libdvdnav/dvd_reader.c +++ src/input/libdvdnav/dvd_reader.c -@@ -60,6 +60,7 @@ +@@ -61,6 +61,7 @@ #include #endif @@ -19,7 +19,7 @@ #include "dvd_udf.h" #include "dvd_input.h" #include "dvd_reader.h" -@@ -408,7 +409,7 @@ +@@ -409,7 +410,7 @@ if( cdir >= 0 ) { chdir( path_copy ); @@ -28,7 +28,7 @@ fchdir( cdir ); close( cdir ); if( new_path ) { -@@ -594,7 +595,7 @@ +@@ -595,7 +596,7 @@ static int findDVDFile( dvd_reader_t *dvd, const char *file, char *filename ) { @@ -37,7 +37,7 @@ const char *nodirfile; int ret; -@@ -628,7 +629,7 @@ +@@ -629,7 +630,7 @@ */ static dvd_file_t *DVDOpenFilePath( dvd_reader_t *dvd, char *filename ) { @@ -46,7 +46,7 @@ dvd_file_t *dvd_file; struct stat fileinfo; dvd_input_t dev; -@@ -721,7 +722,7 @@ +@@ -722,7 +723,7 @@ static dvd_file_t *DVDOpenVOBPath( dvd_reader_t *dvd, int title, int menu ) { char filename[ MAX_UDF_FILE_NAME_LEN ]; diff --git a/src/input/libdvdnav/dvdnav.c b/src/input/libdvdnav/dvdnav.c index 98b88f826..3a005a185 100644 --- a/src/input/libdvdnav/dvdnav.c +++ b/src/input/libdvdnav/dvdnav.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: dvdnav.c,v 1.31 2004/10/05 19:07:09 hadess Exp $ + * $Id: dvdnav.c,v 1.32 2004/10/08 20:44:34 mroi Exp $ * */ @@ -668,16 +668,10 @@ dvdnav_status_t dvdnav_get_next_cache_block(dvdnav_t *this, uint8_t **buf, fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_wide=%d\n",stream_change->physical_wide); fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_letterbox=%d\n",stream_change->physical_letterbox); fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_pan_scan=%d\n",stream_change->physical_pan_scan); + fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE returning DVDNAV_STATUS_OK\n"); #endif - if (stream_change->physical_wide != -1 && - stream_change->physical_letterbox != -1 && - stream_change->physical_pan_scan != -1) { -#ifdef LOG_DEBUG - fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE returning DVDNAV_STATUS_OK\n"); -#endif - pthread_mutex_unlock(&this->vm_lock); - return DVDNAV_STATUS_OK; - } + pthread_mutex_unlock(&this->vm_lock); + return DVDNAV_STATUS_OK; } /* has the audio channel changed? */ diff --git a/src/input/libdvdnav/vm.c b/src/input/libdvdnav/vm.c index e065d33b6..a2402bd9b 100644 --- a/src/input/libdvdnav/vm.c +++ b/src/input/libdvdnav/vm.c @@ -20,7 +20,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: vm.c,v 1.30 2004/10/05 19:07:09 hadess Exp $ + * $Id: vm.c,v 1.31 2004/10/08 20:44:34 mroi Exp $ * */ @@ -714,8 +714,8 @@ int vm_get_subp_stream(vm_t *vm, int subpN, int mode) { } } - if((vm->state).domain != VTS_DOMAIN && streamN == -1) - streamN = 0; + if((vm->state).domain != VTS_DOMAIN && streamN == -1) + streamN = 0; /* FIXME: Should also check in vtsi/vmgi status what kind of stream it is. */ return streamN; @@ -1345,10 +1345,11 @@ static int process_command(vm_t *vm, link_t link_values) { (vm->state).pgN = 1; link_values = play_PG(vm); } else { - /* (vm->state).pgN = ?? this gets the righ value in set_PGN() below */ + /* (vm->state).pgN = ?? this gets the right value in set_PGN() below */ (vm->state).cellN = (vm->state).rsm_cellN; link_values.command = PlayThis; - link_values.data1 = (vm->state).rsm_blockN; + link_values.data1 = (vm->state).rsm_blockN & 0xffff; + link_values.data2 = (vm->state).rsm_blockN >> 16; if(!set_PGN(vm)) { /* Were at the end of the PGC, should not happen for a RSM */ assert(0); @@ -1551,7 +1552,7 @@ static int process_command(vm_t *vm, link_t link_values) { #endif } - (vm->state).blockN = link_values.data1; + (vm->state).blockN = link_values.data1 | (link_values.data2 << 16); return 1; } -- cgit v1.2.3