Skip site navigation (1)Skip section navigation (2)

ports/121143: [PATCH] audio/cdparanoia: rip multisession CDs correctly

From:Fraser Tweedale <frase@frase.id.au>
Date:Wed, 27 Feb 2008 18:18:14 +1000 (EST)
Subject:[PATCH] audio/cdparanoia: rip multisession CDs correctly
Send-pr version:3.113

Number:121143
Category:ports
Synopsis:[PATCH] audio/cdparanoia: rip multisession CDs correctly
Severity:non-critical
Priority:medium
Responsible:markus@FreeBSD.org
State:open
Class:change-request
Arrival-Date:Wed Feb 27 09:00:01 UTC 2008
Closed-Date:
Last-Modified:Sat Mar 7 14:30:02 UTC 2009
Originator:Fraser Tweedale
Release:FreeBSD 7.0-RC2 i386

Organization:
 
Environment:
System: FreeBSD bacardi 7.0-RC2 FreeBSD 7.0-RC2 #10: Sun Feb 17 21:57:41 EST 2008 Fraser@bacardi:/usr/obj/usr/src/sys/BACARDI i386
Description:
cdparanoia was having some difficulty on multisession and mixed-mode CDs
including Enhanced CD and some copy protected CDs. This patch fixes
cases where the final track was padded with random noise due to an
incorrect TOC.
 
How-To-Repeat:
 
Fix:
Download patch-1.diff
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/cdparanoia/Makefile,v
retrieving revision 1.14
diff -u -r1.14 Makefile
--- Makefile     23 Sep 2007 11:26:06 -0000      1.14
+++ Makefile     27 Feb 2008 08:10:53 -0000
@@ -7,7 +7,7 @@
 PORTNAME=       cdparanoia
 PORTVERSION=    3.9.8
-PORTREVISION=   8
+PORTREVISION=   9
 CATEGORIES=     audio sysutils
 MASTER_SITES=   http://www.xiph.org/paranoia/download/
 DISTNAME=       ${PORTNAME}-${PORTVERSION:C/^3\./III-alpha/}
Index: files/patch-interface-common_interface.c
===================================================================
RCS file: /home/ncvs/ports/audio/cdparanoia/files/patch-interface-common_interface.c,v
retrieving revision 1.1
diff -u -r1.1 patch-interface-common_interface.c
--- files/patch-interface-common_interface.c     10 Jan 2003 01:06:33 -0000      1.1
+++ files/patch-interface-common_interface.c     27 Feb 2008 08:10:53 -0000
@@ -1,11 +1,8 @@
 Index: interface/common_interface.c
 ===================================================================
 RCS file: /home/cvs/cdparanoia/interface/common_interface.c,v
-retrieving revision 1.1.1.1
-retrieving revision 1.5
-diff -u -r1.1.1.1 -r1.5
---- interface/common_interface.c        2003/01/05 09:46:26     1.1.1.1
-+++ interface/common_interface.c        2003/01/06 21:39:53     1.5
+--- common_interface.c.orig     2008-02-27 16:51:54.000000000 +1000
++++ common_interface.c  2008-02-27 17:04:59.000000000 +1000
 @@ -13,12 +13,19 @@
  #include "utils.h"
  #include "smallft.h"
@@ -52,7 +49,7 @@
    int j;
    /* First off, make sure the 'starting sector' is >=0 */
-@@ -208,6 +219,8 @@
+@@ -208,14 +219,16 @@
    /* For a scsi device, the ioctl must go to the specialized SCSI
       CDROM device, not the generic device. */
@@ -61,7 +58,29 @@
    if (d->ioctl_fd != -1) {
      int result;
-@@ -231,6 +244,7 @@
+     ms_str.addr_format = CDROM_LBA;
+     result = ioctl(d->ioctl_fd, CDROMMULTISESSION, &ms_str);
+     if (result == -1) return -1;
+-
+     if (ms_str.addr.lba > 100) {
++#endif
+
+       /* This is an odd little piece of code --Monty */
+
+@@ -223,14 +236,20 @@
+       /* adjust end of last audio track to be in the first session */
+       for (j = tracks-1; j >= 0; j--) {
+        if (j > 0 && !IS_AUDIO(d,j) && IS_AUDIO(d,j-1)) {
++#ifdef Linux
+          if (d->disc_toc[j].dwStartSector > ms_str.addr.lba - 11400)
+            d->disc_toc[j].dwStartSector = ms_str.addr.lba - 11400;
++#elif defined(__FreeBSD__)
++      d->disc_toc[j].dwStartSector -= 11400;
++#endif
+          break;
+        }
+       }
++#ifdef Linux
        return 1;
      }
    }


Release-Note:
 
Audit-Trail:
Responsible Changed
From-To:freebsd-ports-bugs->markus
By:edwin
When:Wed Feb 27 09:00:08 UTC 2008
Why:Over to maintainer (via the GNATS Auto Assign Tool)

Reply via E-mail
From:Tobias Rehbein <tobias.rehbein@web.de>
Date:Sat, 7 Mar 2009 15:29:08 +0100
This PR seems to be forgotten. Anyway I want to mention the issue addressed by
the patch still exists. As cdparanoia III 10.2 has been released and
svn.xiph.org shows this issue is fixed in this release I would suggest to close
this PR and update the cdparanoia port to the latest version.

Markus, is there any chance you'll update the cdparanoia port in the near
future?

Regards Tobias

Unformatted:
 
Submit Followup | Raw PR | Find another PR