ports/92258: [patch] sysutils/vobcopy - double detection of VOBs due to cd9660 driver
Edwin Groothuis
edwin at mavetju.org
Tue Jan 24 11:30:08 UTC 2006
>Number: 92258
>Category: ports
>Synopsis: [patch] sysutils/vobcopy - double detection of VOBs due to cd9660 driver
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Jan 24 11:30:06 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Edwin Groothuis
>Release: FreeBSD 6.0-RELEASE i386
>Organization:
-
>Environment:
System: FreeBSD k7.mavetju 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov 3 09:36:13 UTC 2005 root at x64.samsco.home:/usr/obj/usr/src/sys/GENERIC i386
>Description:
systils/vobcopy tries to determine the size of the VOBs to
be copied by checking for video_ts/foo.vob and VIDEO_TS/FOO.VOB.
Due to the nature of the cd9660 driver, both files exist:
$ ls -al /cdrom/video_ts/vts_04_1.vob
-r-xr-xr-x 1 root wheel 13312000 Jan 24 2005 /cdrom/video_ts/vts_04_1.vob
$ ls -al /cdrom/video_ts/VTS_04_1.VOB
-r-xr-xr-x 1 root wheel 13312000 Jan 24 2005 /cdrom/video_ts/VTS_04_1.VOB
This will thus generate a double size of the VOB copied:
Copying finished! Let's see if the sizes match (roughly)
Combined size of title-vobs: 26624000 (25 MB)
Copied size (size on disk): 13312000 (13 MB)
[Error] Hmm, the sizes differ by more than 2000
>How-To-Repeat:
>Fix:
Add this patch patch-dvd.c:
--- dvd.c.orig Tue Jan 24 22:20:15 2006
+++ dvd.c Tue Jan 24 22:21:36 2006
@@ -692,28 +692,6 @@
/* fprintf(stderr,"debug: vob_size: %lli\n",buf.st_size); */
}
}
- strcpy( stat_path, path_to_vobs3 );
- strcat( stat_path, "_1.vob" );
- if( ( tmp_streamin1 = fopen( stat_path, "r" ) ) != NULL ) /*check if this path is correct */
- {
- fclose ( tmp_streamin1 );
- subvob = 1;
- while( !stat( stat_path, &buf ) )
- {
- /* adjust path for next subvob */
- subvob++;
- strcpy( stat_path, path_to_vobs3 );
- strcat( stat_path, "_" );
- sprintf( temp1, "%d", subvob );
- strcat( stat_path, temp1 );
- strcat( stat_path, ".vob" );
-
- vob_size += buf.st_size;
-/* fprintf(stderr,"debug: vob_size: %lli\n",vob_size); */
-/* fprintf(stderr,"debug: vob_size: %lli\n",buf.st_size); */
- }
- }
-
return ( off_t ) vob_size; /* think that (off_t) is not really needed here?
as it is defined as off_t and the function is
also defined as off_t */
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list