tags 516834 +patch
thanks

I tried to apply the patch I found at http://mail-index.netbsd.org/pkgsrc-bugs/2009/01/26/msg030603.html . Two hunks succeeded two hunks failed and so I applied the changes in them manually (I suspect that the failure to apply was caused by whitespace issues in the patch caused by netbsds mail archive but I didn't bother to check)

The result is attatched in dpatch form ready to be added to the end of the series.
#! /bin/sh /usr/share/dpatch/dpatch-run
## 70-ifo-fix.patch.dpatch by  <plugw...@p10link.net> based on one by 
raymond.me...@rambler.ru
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Patch to deal with some renamed "ifo" functions
## DP: Based on the patch at 
## DP: http://mail-index.netbsd.org/pkgsrc-bugs/2009/01/26/msg030603.html
## DP: No substatial changes from that patch, just fixing up of some failures
## DP: to apply

@DPATCH@
diff -urNad ogle-0.9.2~/vmg/ifo_dump.c ogle-0.9.2/vmg/ifo_dump.c
--- ogle-0.9.2~/vmg/ifo_dump.c  2009-03-03 01:17:07.000000000 +0000
+++ ogle-0.9.2/vmg/ifo_dump.c   2009-03-03 01:18:40.000000000 +0000
@@ -65,38 +65,38 @@
   if(h->vmgi_mat != NULL) {
     
     printf("VMG top level\n-------------\n");
-    ifoPrint_VMGI_MAT(h->vmgi_mat);
+    ifo_print_VMGI_MAT(h->vmgi_mat);
       
     printf("\nFirst Play PGC\n--------------\n");
-    ifoPrint_PGC(h->first_play_pgc);
+    ifo_print_PGC(h->first_play_pgc);
       
     printf("\nTitle Track search pointer table\n");
     printf(  "------------------------------------------------\n");
-    ifoPrint_TT_SRPT(h->tt_srpt);
+    ifo_print_TT_SRPT(h->tt_srpt);
       
     printf("\nMenu PGCI Unit table\n");
     printf(  "--------------------\n");
     if(h->vmgi_mat->vmgm_pgci_ut != 0) {
-      ifoPrint_PGCI_UT(h->pgci_ut);
+      ifo_print_PGCI_UT(h->pgci_ut);
     } else 
       printf("No Menu PGCI Unit table present\n");
       
     printf("\nParental Manegment Information table\n");
     printf(  "------------------------------------\n");
     if(h->vmgi_mat->ptl_mait != 0) {
-      ifoPrint_PTL_MAIT(h->ptl_mait);
+      ifo_print_PTL_MAIT(h->ptl_mait);
     } else
       printf("No Parental Management Information present\n");
       
     printf("\nVideo Title Set Attribute Table\n");
     printf(  "-------------------------------\n");
-    ifoPrint_VTS_ATRT(h->vts_atrt);
+    ifo_print_VTS_ATRT(h->vts_atrt);
 
       
     printf("\nText Data Manager Information\n");
     printf(  "-----------------------------\n");
     if(h->vmgi_mat->txtdt_mgi != 0) {
-      //ifoPrint_TXTDT_MGI(h->txtdt_mgi);
+      //ifo_print_TXTDT_MGI(h->txtdt_mgi);
       printf("Can't print Text Data Manager Information yet\n");
     } else
       printf("No Text Data Manager Information present\n");
@@ -106,14 +106,14 @@
       printf("\nCell Address table\n");
       printf(  "-----------------\n");
       if(h->vmgi_mat->vmgm_c_adt != 0) {
-       ifoPrint_C_ADT(h->menu_c_adt);
+       ifo_print_C_ADT(h->menu_c_adt);
       } else
        printf("No Cell Address table present\n");
       
       printf("\nVideo Title set Menu VOBU address map\n");
       printf(  "-----------------\n");
       if(h->vmgi_mat->vmgm_vobu_admap != 0) {
-       ifoPrint_VOBU_ADMAP(h->menu_vobu_admap);
+       ifo_print_VOBU_ADMAP(h->menu_vobu_admap);
       } else
        printf("No Menu VOBU address map present\n");
     }
@@ -122,20 +122,20 @@
   if(h->vtsi_mat != NULL) {
       
     printf("VTS top level\n-------------\n");
-    ifoPrint_VTSI_MAT(h->vtsi_mat);
+    ifo_print_VTSI_MAT(h->vtsi_mat);
       
     printf("\nPart of title search pointer table information\n");
     printf(  "----------------------------------------------\n");
-    ifoPrint_VTS_PTT_SRPT(h->vts_ptt_srpt);
+    ifo_print_VTS_PTT_SRPT(h->vts_ptt_srpt);
        
     printf("\nPGCI Unit table\n");
     printf(  "--------------------\n");
-    ifoPrint_PGCIT(h->vts_pgcit);
+    ifo_print_PGCIT(h->vts_pgcit);
       
     printf("\nMenu PGCI Unit table\n");
     printf(  "--------------------\n");
     if(h->vtsi_mat->vtsm_pgci_ut != 0) {
-      ifoPrint_PGCI_UT(h->pgci_ut);
+      ifo_print_PGCI_UT(h->pgci_ut);
     } else
       printf("No Menu PGCI Unit table present\n");
       
@@ -144,31 +144,31 @@
       printf("\nTime Map table\n");
       printf(  "-----------------\n");
       if(h->vtsi_mat->vts_tmapt != 0) {
-       ifoPrint_VTS_TMAPT(h->vts_tmapt);
+       ifo_print_VTS_TMAPT(h->vts_tmapt);
       } else
        printf("No Time Map table present\n");
       
       printf("\nMenu Cell Address table\n");
       printf(  "-----------------\n");
       if(h->vtsi_mat->vtsm_c_adt != 0) {
-       ifoPrint_C_ADT(h->menu_c_adt);
+       ifo_print_C_ADT(h->menu_c_adt);
       } else
        printf("No Cell Address table present\n");
       
       printf("\nVideo Title Set Menu VOBU address map\n");
       printf(  "-----------------\n");
       if(h->vtsi_mat->vtsm_vobu_admap != 0) {
-       ifoPrint_VOBU_ADMAP(h->menu_vobu_admap);
+       ifo_print_VOBU_ADMAP(h->menu_vobu_admap);
       } else
        printf("No Menu VOBU address map present\n");
       
       printf("\nCell Address table\n");
       printf(  "-----------------\n");
-      ifoPrint_C_ADT(h->vts_c_adt);
+      ifo_print_C_ADT(h->vts_c_adt);
       
       printf("\nVideo Title Set VOBU address map\n");
       printf(  "-----------------\n");
-      ifoPrint_VOBU_ADMAP(h->vts_vobu_admap);
+      ifo_print_VOBU_ADMAP(h->vts_vobu_admap);
       
     }
   }
diff -urNad ogle-0.9.2~/vmg/ifo_dump.c.orig ogle-0.9.2/vmg/ifo_dump.c.orig
--- ogle-0.9.2~/vmg/ifo_dump.c.orig     1970-01-01 00:00:00.000000000 +0000
+++ ogle-0.9.2/vmg/ifo_dump.c.orig      2009-03-03 01:17:07.000000000 +0000
@@ -0,0 +1,183 @@
+/* Ogle - A video player
+ * Copyright (C) 2000, 2001 Björn Englund, Håkan Hjort
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, 
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <inttypes.h>
+
+#include <dvdread/ifo_types.h>
+#include <dvdread/ifo_read.h>
+#include <dvdread/ifo_print.h>
+
+static char *program_name;
+
+static void print_ifo(char *path, int title);
+
+void usage(void)
+{
+  fprintf(stderr, "Usage: %s <dvd path> <title number>\n", 
+         program_name);
+}
+
+int main(int argc, char *argv[])
+{
+  program_name = argv[0];
+
+  if(argc != 3) {
+    usage();
+    return 1;
+  }
+  
+  print_ifo(argv[1], atoi(argv[2]));
+  exit(0);
+}
+
+
+static void print_ifo(char *path, int title) {
+  dvd_reader_t *dvd;
+  ifo_handle_t *h;
+  
+  dvd = DVDOpen(path);
+  if(!dvd) {
+    fprintf(stderr, "Can't open disc %s!\n", path);
+    return;
+  }
+
+  if((h = ifoOpen(dvd, title)) == NULL)
+    return;
+    
+  if(h->vmgi_mat != NULL) {
+    
+    printf("VMG top level\n-------------\n");
+    ifoPrint_VMGI_MAT(h->vmgi_mat);
+      
+    printf("\nFirst Play PGC\n--------------\n");
+    ifoPrint_PGC(h->first_play_pgc);
+      
+    printf("\nTitle Track search pointer table\n");
+    printf(  "------------------------------------------------\n");
+    ifoPrint_TT_SRPT(h->tt_srpt);
+      
+    printf("\nMenu PGCI Unit table\n");
+    printf(  "--------------------\n");
+    if(h->vmgi_mat->vmgm_pgci_ut != 0) {
+      ifoPrint_PGCI_UT(h->pgci_ut);
+    } else 
+      printf("No Menu PGCI Unit table present\n");
+      
+    printf("\nParental Manegment Information table\n");
+    printf(  "------------------------------------\n");
+    if(h->vmgi_mat->ptl_mait != 0) {
+      ifoPrint_PTL_MAIT(h->ptl_mait);
+    } else
+      printf("No Parental Management Information present\n");
+      
+    printf("\nVideo Title Set Attribute Table\n");
+    printf(  "-------------------------------\n");
+    ifoPrint_VTS_ATRT(h->vts_atrt);
+
+      
+    printf("\nText Data Manager Information\n");
+    printf(  "-----------------------------\n");
+    if(h->vmgi_mat->txtdt_mgi != 0) {
+      //ifoPrint_TXTDT_MGI(h->txtdt_mgi);
+      printf("Can't print Text Data Manager Information yet\n");
+    } else
+      printf("No Text Data Manager Information present\n");
+      
+    if(1) {
+      
+      printf("\nCell Address table\n");
+      printf(  "-----------------\n");
+      if(h->vmgi_mat->vmgm_c_adt != 0) {
+       ifoPrint_C_ADT(h->menu_c_adt);
+      } else
+       printf("No Cell Address table present\n");
+      
+      printf("\nVideo Title set Menu VOBU address map\n");
+      printf(  "-----------------\n");
+      if(h->vmgi_mat->vmgm_vobu_admap != 0) {
+       ifoPrint_VOBU_ADMAP(h->menu_vobu_admap);
+      } else
+       printf("No Menu VOBU address map present\n");
+    }
+  }
+
+  if(h->vtsi_mat != NULL) {
+      
+    printf("VTS top level\n-------------\n");
+    ifoPrint_VTSI_MAT(h->vtsi_mat);
+      
+    printf("\nPart of title search pointer table information\n");
+    printf(  "----------------------------------------------\n");
+    ifoPrint_VTS_PTT_SRPT(h->vts_ptt_srpt);
+       
+    printf("\nPGCI Unit table\n");
+    printf(  "--------------------\n");
+    ifoPrint_PGCIT(h->vts_pgcit);
+      
+    printf("\nMenu PGCI Unit table\n");
+    printf(  "--------------------\n");
+    if(h->vtsi_mat->vtsm_pgci_ut != 0) {
+      ifoPrint_PGCI_UT(h->pgci_ut);
+    } else
+      printf("No Menu PGCI Unit table present\n");
+      
+    if(1) {
+      
+      printf("\nTime Map table\n");
+      printf(  "-----------------\n");
+      if(h->vtsi_mat->vts_tmapt != 0) {
+       ifoPrint_VTS_TMAPT(h->vts_tmapt);
+      } else
+       printf("No Time Map table present\n");
+      
+      printf("\nMenu Cell Address table\n");
+      printf(  "-----------------\n");
+      if(h->vtsi_mat->vtsm_c_adt != 0) {
+       ifoPrint_C_ADT(h->menu_c_adt);
+      } else
+       printf("No Cell Address table present\n");
+      
+      printf("\nVideo Title Set Menu VOBU address map\n");
+      printf(  "-----------------\n");
+      if(h->vtsi_mat->vtsm_vobu_admap != 0) {
+       ifoPrint_VOBU_ADMAP(h->menu_vobu_admap);
+      } else
+       printf("No Menu VOBU address map present\n");
+      
+      printf("\nCell Address table\n");
+      printf(  "-----------------\n");
+      ifoPrint_C_ADT(h->vts_c_adt);
+      
+      printf("\nVideo Title Set VOBU address map\n");
+      printf(  "-----------------\n");
+      ifoPrint_VOBU_ADMAP(h->vts_vobu_admap);
+      
+    }
+  }
+
+
+  /* Vob */
+  
+}
+
+
+
+
diff -urNad ogle-0.9.2~/vmg/ifo_dump.c.rej ogle-0.9.2/vmg/ifo_dump.c.rej
--- ogle-0.9.2~/vmg/ifo_dump.c.rej      1970-01-01 00:00:00.000000000 +0000
+++ ogle-0.9.2/vmg/ifo_dump.c.rej       2009-03-03 01:17:07.000000000 +0000
@@ -0,0 +1,96 @@
+***************
+*** 106,119 ****
+        printf("\nCell Address table\n");
+        printf(  "-----------------\n");
+        if(h->vmgi_mat->vmgm_c_adt != 0) {
+-        ifoPrint_C_ADT(h->menu_c_adt);
+        } else
+         printf("No Cell Address table present\n");
+        
+        printf("\nVideo Title set Menu VOBU address map\n");
+        printf(  "-----------------\n");
+        if(h->vmgi_mat->vmgm_vobu_admap != 0) {
+-        ifoPrint_VOBU_ADMAP(h->menu_vobu_admap);
+        } else
+         printf("No Menu VOBU address map present\n");
+      }
+--- 106,119 ----
+        printf("\nCell Address table\n");
+        printf(  "-----------------\n");
+        if(h->vmgi_mat->vmgm_c_adt != 0) {
++        ifo_print_C_ADT(h->menu_c_adt);
+        } else
+         printf("No Cell Address table present\n");
+        
+        printf("\nVideo Title set Menu VOBU address map\n");
+        printf(  "-----------------\n");
+        if(h->vmgi_mat->vmgm_vobu_admap != 0) {
++        ifo_print_VOBU_ADMAP(h->menu_vobu_admap);
+        } else
+         printf("No Menu VOBU address map present\n");
+      }
+***************
+*** 144,174 ****
+        printf("\nTime Map table\n");
+        printf(  "-----------------\n");
+        if(h->vtsi_mat->vts_tmapt != 0) {
+-        ifoPrint_VTS_TMAPT(h->vts_tmapt);
+        } else
+         printf("No Time Map table present\n");
+        
+        printf("\nMenu Cell Address table\n");
+        printf(  "-----------------\n");
+        if(h->vtsi_mat->vtsm_c_adt != 0) {
+-        ifoPrint_C_ADT(h->menu_c_adt);
+        } else
+         printf("No Cell Address table present\n");
+        
+        printf("\nVideo Title Set Menu VOBU address map\n");
+        printf(  "-----------------\n");
+        if(h->vtsi_mat->vtsm_vobu_admap != 0) {
+-        ifoPrint_VOBU_ADMAP(h->menu_vobu_admap);
+        } else
+         printf("No Menu VOBU address map present\n");
+        
+        printf("\nCell Address table\n");
+        printf(  "-----------------\n");
+-       ifoPrint_C_ADT(h->vts_c_adt);
+        
+        printf("\nVideo Title Set VOBU address map\n");
+        printf(  "-----------------\n");
+-       ifoPrint_VOBU_ADMAP(h->vts_vobu_admap);
+        
+      }
+    }
+--- 144,174 ----
+        printf("\nTime Map table\n");
+        printf(  "-----------------\n");
+        if(h->vtsi_mat->vts_tmapt != 0) {
++        ifo_print_VTS_TMAPT(h->vts_tmapt);
+        } else
+         printf("No Time Map table present\n");
+        
+        printf("\nMenu Cell Address table\n");
+        printf(  "-----------------\n");
+        if(h->vtsi_mat->vtsm_c_adt != 0) {
++        ifo_print_C_ADT(h->menu_c_adt);
+        } else
+         printf("No Cell Address table present\n");
+        
+        printf("\nVideo Title Set Menu VOBU address map\n");
+        printf(  "-----------------\n");
+        if(h->vtsi_mat->vtsm_vobu_admap != 0) {
++        ifo_print_VOBU_ADMAP(h->menu_vobu_admap);
+        } else
+         printf("No Menu VOBU address map present\n");
+        
+        printf("\nCell Address table\n");
+        printf(  "-----------------\n");
++       ifo_print_C_ADT(h->vts_c_adt);
+        
+        printf("\nVideo Title Set VOBU address map\n");
+        printf(  "-----------------\n");
++       ifo_print_VOBU_ADMAP(h->vts_vobu_admap);
+        
+      }
+    }

Reply via email to