From: Michael R. <mr...@us...> - 2003-03-29 13:19:12
|
Update of /cvsroot/xine/xine-lib/src/input/libdvdnav In directory sc8-pr-cvs1:/tmp/cvs-serv1531/src/input/libdvdnav Modified Files: decoder.c decoder.h diff_against_cvs.patch dvdnav_internal.h highlight.c navigation.c searching.c settings.c vm.c vm.h vmcmd.c vmcmd.h Log Message: sync to libdvdnav cvs once again * some changes to mutual header inclusion to make it compile warning-less when tracing is enabled * title/part jumping should work much more reliable now Index: decoder.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/decoder.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- decoder.c 20 Feb 2003 16:01:58 -0000 1.6 +++ decoder.c 29 Mar 2003 13:19:08 -0000 1.7 @@ -32,8 +32,6 @@ #include <string.h> /* For memset */ #include "ifo_types.h" /* vm_cmd_t */ #include <assert.h> -#include "vmcmd.h" -#include "decoder.h" #include "dvdnav_internal.h" uint32_t vm_getbits(command_t *command, int start, int count) { Index: decoder.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/decoder.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- decoder.h 20 Feb 2003 16:01:58 -0000 1.5 +++ decoder.h 29 Mar 2003 13:19:08 -0000 1.6 @@ -29,6 +29,7 @@ #include <sys/time.h> #include "ifo_types.h" /* vm_cmd_t */ +#include "dvdnav_internal.h" /* link command types */ typedef enum { Index: diff_against_cvs.patch =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/diff_against_cvs.patch,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- diff_against_cvs.patch 8 Mar 2003 14:36:13 -0000 1.10 +++ diff_against_cvs.patch 29 Mar 2003 13:19:08 -0000 1.11 @@ -7,8 +7,8 @@ -#include <dvdread/ifo_types.h> /* vm_cmd_t */ +#include "ifo_types.h" /* vm_cmd_t */ #include <assert.h> - #include "vmcmd.h" - #include "decoder.h" + #include "dvdnav_internal.h" + --- src/input/libdvdnav/decoder.h Wed Sep 4 12:50:34 2002 +++ src/input/libdvdnav/decoder.h Wed Sep 4 12:50:42 2002 @@ -28,7 +28,7 @@ @@ -17,9 +17,9 @@ -#include <dvdread/ifo_types.h> /* vm_cmd_t */ +#include "ifo_types.h" /* vm_cmd_t */ + #include "dvdnav_internal.h" /* link command types */ - typedef enum { --- src/input/libdvdnav/dvdnav.c Wed Sep 4 12:50:34 2002 +++ src/input/libdvdnav/dvdnav.c Wed Sep 4 12:50:42 2002 @@ -33,7 +33,7 @@ @@ -75,7 +75,7 @@ /* * Copyright (C) 2001 Rich Wareham <ric...@us...> * -@@ -40,9 +41,9 @@ +@@ -37,9 +38,9 @@ #undef WORDS_BIGENDIAN @@ -86,28 +86,28 @@ +#include "ifo_read.h" +#include "ifo_types.h" - /* Uncomment for VM command tracing */ + /* #define TRACE */ --- src/input/libdvdnav/highlight.c Wed Sep 4 12:50:34 2002 +++ src/input/libdvdnav/highlight.c Wed Sep 4 12:55:44 2002 -@@ -30,7 +30,7 @@ - #include "dvdnav_internal.h" +@@ -26,7 +26,7 @@ + #endif - #include "vm.h" + #include <assert.h> -#include <dvdread/nav_types.h> +#include "nav_types.h" + #include "dvdnav_internal.h" /* - #define BUTTON_TESTING -@@ -38,7 +38,7 @@ +@@ -35,7 +35,7 @@ #ifdef BUTTON_TESTING -#include <dvdread/nav_print.h> +#include "nav_print.h" - #include "vmcmd.h" static void print_time(dvd_time_t *dtime) { + const char *rate; --- src/input/libdvdnav/vm.c Sat Jul 6 18:12:09 2002 +++ src/input/libdvdnav/vm.c Fri Aug 9 22:03:48 2002 @@ -37,8 +37,8 @@ @@ -119,8 +119,8 @@ +#include "ifo_types.h" +#include "ifo_read.h" - #include "decoder.h" - #include "vmcmd.h" + #include "dvdnav_internal.h" + --- src/input/libdvdnav/vmcmd.h Sat Jun 1 14:40:50 2002 +++ src/input/libdvdnav/vmcmd.h Fri Aug 9 22:04:13 2002 @@ -26,7 +26,7 @@ @@ -129,6 +129,6 @@ #include <inttypes.h> -#include <dvdread/ifo_types.h> /* Only for vm_cmd_t */ +#include "ifo_types.h" /* Only for vm_cmd_t */ - #include "decoder.h" + #include "dvdnav_internal.h" #ifdef TRACE Index: dvdnav_internal.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/dvdnav_internal.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- dvdnav_internal.h 25 Mar 2003 13:17:22 -0000 1.8 +++ dvdnav_internal.h 29 Mar 2003 13:19:09 -0000 1.9 @@ -29,9 +29,6 @@ #include "config.h" #endif -#include "dvdnav.h" -#include "vm.h" - #include <stdlib.h> #include <stdio.h> #include <unistd.h> @@ -45,9 +42,13 @@ #include "ifo_read.h" #include "ifo_types.h" - /* Uncomment for VM command tracing */ /* #define TRACE */ + +#include "decoder.h" +#include "dvdnav.h" +#include "vm.h" +#include "vmcmd.h" /* where should libdvdnav write its messages (stdout/stderr) */ #define MSG_OUT stdout Index: highlight.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/highlight.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- highlight.c 8 Mar 2003 14:36:13 -0000 1.10 +++ highlight.c 29 Mar 2003 13:19:09 -0000 1.11 @@ -26,11 +26,8 @@ #endif #include <assert.h> - -#include "dvdnav_internal.h" - -#include "vm.h" #include "nav_types.h" +#include "dvdnav_internal.h" /* #define BUTTON_TESTING @@ -39,7 +36,6 @@ #ifdef BUTTON_TESTING #include "nav_print.h" -#include "vmcmd.h" static void print_time(dvd_time_t *dtime) { const char *rate; Index: navigation.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/navigation.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- navigation.c 25 Mar 2003 13:17:22 -0000 1.6 +++ navigation.c 29 Mar 2003 13:19:09 -0000 1.7 @@ -27,8 +27,6 @@ #include "dvdnav_internal.h" -#include "vm.h" - /* Navigation API calls */ dvdnav_status_t dvdnav_still_skip(dvdnav_t *this) { @@ -140,7 +138,7 @@ } pthread_mutex_lock(&this->vm_lock); - if (!this->vm->vtsi || !this->vm->vmgi) { + if (!this->vm->vmgi) { printerr("Bad VM state."); pthread_mutex_unlock(&this->vm_lock); return S_ERR; Index: searching.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/searching.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- searching.c 25 Mar 2003 13:17:22 -0000 1.12 +++ searching.c 29 Mar 2003 13:19:09 -0000 1.13 @@ -26,10 +26,7 @@ #endif #include <assert.h> - #include "dvdnav_internal.h" - -#include "vm.h" /* #define LOG_DEBUG Index: settings.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/settings.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- settings.c 25 Mar 2003 13:17:22 -0000 1.4 +++ settings.c 29 Mar 2003 13:19:09 -0000 1.5 @@ -27,8 +27,6 @@ #include "dvdnav_internal.h" -#include "vm.h" - /* Characteristics/setting API calls */ dvdnav_status_t dvdnav_get_region_mask(dvdnav_t *this, int *region) { Index: vm.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/vm.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- vm.c 27 Mar 2003 13:46:47 -0000 1.16 +++ vm.c 29 Mar 2003 13:19:09 -0000 1.17 @@ -40,9 +40,6 @@ #include "ifo_types.h" #include "ifo_read.h" -#include "decoder.h" -#include "vmcmd.h" -#include "vm.h" #include "dvdnav_internal.h" /* @@ -69,6 +66,7 @@ /* Set */ static int set_TT(vm_t *vm, int tt); +static int set_PTT(vm_t *vm, int tt, int ptt); static int set_VTS_TT(vm_t *vm, int vtsN, int vts_ttn); static int set_VTS_PTT(vm_t *vm, int vtsN, int vts_ttn, int part); static int set_FP_PGC(vm_t *vm); @@ -123,7 +121,7 @@ } #endif -void dvd_read_name( vm_t *this, const char *devname) { +static void dvd_read_name(char *name, const char *device) { int fd, i; #ifndef __FreeBSD__ off64_t off; @@ -133,7 +131,7 @@ uint8_t data[DVD_VIDEO_LB_LEN]; /* Read DVD name */ - fd=open(devname, O_RDONLY); + fd=open(device, O_RDONLY); if (fd > 0) { off = lseek64( fd, 32 * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET ); if( off == ( 32 * (int64_t) DVD_VIDEO_LB_LEN ) ) { @@ -149,8 +147,8 @@ fprintf(MSG_OUT, " "); } } - strncpy(&this->dvd_name[0], &data[25], 48); - this->dvd_name[48]=0; + strncpy(name, &data[25], 48); + name[48] = 0; fprintf(MSG_OUT, "\nlibdvdnav: DVD Serial Number: "); for(i=73; i < 89; i++ ) { if((data[i] == 0)) break; @@ -317,7 +315,7 @@ fprintf(MSG_OUT, "libdvdnav: vm: faild to open/read the DVD\n"); return 0; } - dvd_read_name(vm, dvdroot); + dvd_read_name(vm->dvd_name, dvdroot); vm->map = remap_loadmap(vm->dvd_name); vm->vmgi = ifoOpenVMGI(vm->dvd); if(!vm->vmgi) { @@ -481,13 +479,13 @@ } int vm_jump_title_part(vm_t *vm, int title, int part) { - int vtsN; - - vtsN = vm->vmgi->tt_srpt->title[title - 1].title_set_nr; - - if(!set_VTS_PTT(vm, vtsN, title, part)) + if(!set_PTT(vm, title, part)) return 0; - process_command(vm, play_PGC_PG(vm, (vm->state).pgN)); + /* Some DVDs do not want us to jump directly into a title and have + * PGC pre commands taking us back to some menu. Since we do not like that, + * we do not execute PGC pre commands but directly play the PG. */ + /* process_command(vm, play_PGC_PG(vm, (vm->state).pgN)); */ + process_command(vm, play_PG(vm)); return 1; } @@ -1517,10 +1515,13 @@ /* Set functions */ static int set_TT(vm_t *vm, int tt) { + return set_PTT(vm, tt, 1); +} + +static int set_PTT(vm_t *vm, int tt, int ptt) { assert(tt <= vm->vmgi->tt_srpt->nr_of_srpts); - (vm->state).TTN_REG = tt; - return set_VTS_TT(vm, vm->vmgi->tt_srpt->title[tt - 1].title_set_nr, - vm->vmgi->tt_srpt->title[tt - 1].vts_ttn); + return set_VTS_PTT(vm, vm->vmgi->tt_srpt->title[tt - 1].title_set_nr, + vm->vmgi->tt_srpt->title[tt - 1].vts_ttn, ptt); } static int set_VTS_TT(vm_t *vm, int vtsN, int vts_ttn) { @@ -1807,6 +1808,12 @@ /* * $Log$ + * Revision 1.17 2003/03/29 13:19:09 mroi + * sync to libdvdnav cvs once again + * * some changes to mutual header inclusion to make it compile warning-less + * when tracing is enabled + * * title/part jumping should work much more reliable now + * * Revision 1.16 2003/03/27 13:46:47 mroi * sync to libdvdnav cvs * * fix conversion of dvd_time_t (I do know BCD, I just did it wrong...) Index: vm.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/vm.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- vm.h 25 Mar 2003 13:17:23 -0000 1.6 +++ vm.h 29 Mar 2003 13:19:09 -0000 1.7 @@ -26,9 +26,8 @@ #ifndef VM_H_INCLUDED #define VM_H_INCLUDED -#include "decoder.h" #include "remap.h" -#include <dvd_types.h> +#include "dvdnav_internal.h" /* DOMAIN enum */ Index: vmcmd.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/vmcmd.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- vmcmd.c 20 Feb 2003 16:02:01 -0000 1.3 +++ vmcmd.c 29 Mar 2003 13:19:09 -0000 1.4 @@ -31,7 +31,6 @@ #include <inttypes.h> #include <assert.h> -#include "vmcmd.h" #include "dvdnav_internal.h" Index: vmcmd.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/libdvdnav/vmcmd.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- vmcmd.h 20 Feb 2003 16:02:01 -0000 1.4 +++ vmcmd.h 29 Mar 2003 13:19:09 -0000 1.5 @@ -27,7 +27,7 @@ #include <inttypes.h> #include "ifo_types.h" /* Only for vm_cmd_t */ -#include "decoder.h" +#include "dvdnav_internal.h" #ifdef TRACE void vmPrint_mnemonic(vm_cmd_t *command); |