dvdbackup does not build with libdvdread 6.1.0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dvdbackup |
New
|
Undecided
|
Unassigned |
Bug Description
The following commit to libdvdread breaks dvdbackup 0.4.2:
https:/
----
dvdbackup.
size = DVDFileSize(
dvdbackup.
dvdbackup.
if (DVDReadBytes(
1 warning and 3 errors generated.
----
This is because the dvd_file_t *file pointer is now private.
Suggest this patch, seems to work for me:
----- c.orig 2012-06-24 01:10:29 UTC dvd_reader_ t* dvd, title_set_
--- src/dvdbackup.
+++ src/dvdbackup.c
@@ -1132,7 +1132,7 @@ static int DVDCopyIfoBup(
int size;
/* DVD handler */
- ifo_handle_t* ifo_file = NULL;
+ dvd_file_t* ifo_file = NULL;
if (title_ set_info- >number_ of_title_ sets + 1 < title_set) { dvd_reader_ t* dvd, title_set_ _ifo, O_WRONLY | O_CREAT | O_TRUNC, 0666)) == -1) { ifo_file) ; streamout_ ifo); streamout_ bup); dvd_reader_ t* dvd, title_set_ _bup, O_WRONLY | O_CREAT | O_TRUNC, 0666)) == -1) { ifo_file) ; streamout_ ifo); streamout_ bup); dvd_reader_ t* dvd, title_set_
@@ -1181,7 +1181,7 @@ static int DVDCopyIfoBup(
if ((streamout_ifo = open(targetname
fprintf(stderr, _("Error creating %s\n"), targetname_ifo);
perror(PACKAGE);
- ifoClose(ifo_file);
+ DVDCloseFile(
free(buffer);
close(
close(
@@ -1191,7 +1191,7 @@ static int DVDCopyIfoBup(
if ((streamout_bup = open(targetname
fprintf(stderr, _("Error creating %s\n"), targetname_bup);
perror(PACKAGE);
- ifoClose(ifo_file);
+ DVDCloseFile(
free(buffer);
close(
close(
@@ -1200,31 +1200,31 @@ static int DVDCopyIfoBup(
/* Copy VIDEO_TS.IFO, since it's a small file try to copy it in one shot */
- if ((ifo_file = ifoOpen(dvd, title_set))== 0) { INFO_FILE) )== 0) { ifo_file) ; streamout_ ifo); streamout_ bup);
+ if ((ifo_file = DVDOpenFile(dvd, title_set, DVD_READ_
fprintf(stderr, _("Failed opening IFO for title set %d\n"), title_set);
- ifoClose(ifo_file);
+ DVDCloseFile(
free(buffer);
close(
close(
return 1;
}
- size = DVDFileSize( ifo_file- >file) * DVD_VIDEO_LB_LEN; ifo_file) * DVD_VIDEO_LB_LEN;
+ size = DVDFileSize(
if ((buffer = (unsigned char *)malloc(size * sizeof(unsigned char))) == NULL) { ifo_file) ; streamout_ ifo); streamout_ bup);
perror(PACKAGE);
- ifoClose(ifo_file);
+ DVDCloseFile(
free(buffer);
close(
close(
return 1;
}
- DVDFileSeek( ifo_file- >file, 0); ifo_file, 0);
+ DVDFileSeek(
- if (DVDReadBytes( ifo_file- >file,buffer, size) != size) { ifo_file, buffer, size) != size) { ifo_file) ; streamout_ ifo); streamout_ bup); dvd_reader_ t* dvd, title_set_
+ if (DVDReadBytes(
fprintf(stderr, _("Error reading IFO for title set %d\n"), title_set);
- ifoClose(ifo_file);
+ DVDCloseFile(
free(buffer);
close(
close(
@@ -1234,7 +1234,7 @@ static int DVDCopyIfoBup(
if (write( streamout_ ifo,buffer, size) != size) { targetname_ ifo); ifo_file) ; streamout_ ifo); streamout_ bup); dvd_reader_ t* dvd, title_set_
fprintf(stderr, _("Error writing %s\n"),
- ifoClose(ifo_file);
+ DVDCloseFile(
free(buffer);
close(
close(
@@ -1243,7 +1243,7 @@ static int DVDCopyIfoBup(
if (write( streamout_ bup,buffer, size) != size) { targetname_ bup); ifo_file) ; streamout_ ifo); streamout_ bup);
fprintf(stderr, _("Error writing %s\n"),
- ifoClose(ifo_file);
+ DVDCloseFile(
free(buffer);
close(
close(
-----