]> git.sesse.net Git - vlc/blob - extras/contrib/src/Patches/libdvdnav.patch
Contribs: Update dvdnav and dvdread to 4.2.0
[vlc] / extras / contrib / src / Patches / libdvdnav.patch
1 diff -ruN libdvdnav/Makefile.am libdvdnav.new/Makefile.am
2 --- libdvdnav/Makefile.am       2008-06-18 17:06:33.000000000 +0200
3 +++ libdvdnav.new/Makefile.am   2011-10-11 01:02:18.768524699 +0200
4 @@ -1,7 +1,7 @@
5  include $(top_srcdir)/misc/Makefile.common
6  
7  
8 -SUBDIRS = src examples doc misc m4
9 +SUBDIRS = src misc m4
10  
11  EXTRA_DIST = autogen.sh \
12              AUTHORS \
13 diff -ruN libdvdnav/src/vm/vm.c libdvdnav.new/src/vm/vm.c
14 --- libdvdnav/src/vm/vm.c       2010-11-22 00:59:43.000000000 +0100
15 +++ libdvdnav.new/src/vm/vm.c   2011-10-11 01:02:07.852470536 +0200
16 @@ -174,12 +174,11 @@
17      fd = open(device, O_RDONLY);
18      if (fd > 0) {
19        off = lseek( fd, 32 * (off_t) DVD_VIDEO_LB_LEN, SEEK_SET );
20 -      if( off == ( 32 * (off_t) DVD_VIDEO_LB_LEN ) ) {
21 +      if (off == 16) {
22          off = read( fd, data, DVD_VIDEO_LB_LEN );
23 -        close(fd);
24          if (off == ( (off_t) DVD_VIDEO_LB_LEN )) {
25            fprintf(MSG_OUT, "libdvdnav: DVD Title: ");
26 -          for(i=25; i < 73; i++ ) {
27 +          for(i=40; i < 73; i++ ) {
28              if((data[i] == 0)) break;
29              if((data[i] > 32) && (data[i] < 127)) {
30                fprintf(MSG_OUT, "%c", data[i]);
31 @@ -187,10 +186,12 @@
32                fprintf(MSG_OUT, " ");
33              }
34            }
35 -          strncpy(name, (char*) &data[25], 48);
36 -          name[48] = 0;
37 +          strncpy(name, (char*) &data[40], 32);
38 +          i=31;
39 +          while( (i>=0) && (name[i] <= ' ')) --i;
40 +          name[i+1] = '\0';
41            fprintf(MSG_OUT, "\nlibdvdnav: DVD Serial Number: ");
42 -          for(i=73; i < 89; i++ ) {
43 +          for(i=813; i < 829; i++ ) {
44              if((data[i] == 0)) break;
45              if((data[i] > 32) && (data[i] < 127)) {
46                fprintf(MSG_OUT, "%c", data[i]);