Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Jan 2006 22:23:53 +1100 (EST)
From:      Edwin Groothuis <edwin@mavetju.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/92258: [patch] sysutils/vobcopy - double detection of VOBs due to cd9660 driver
Message-ID:  <20060124112353.6580E26A@k7.mavetju>
Resent-Message-ID: <200601241130.k0OBU6Rv064685@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060124112353.6580E26A>