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);
+
+ }
+ }