Date: Fri, 26 Sep 2003 01:51:57 +0300 (EEST) From: Vladimir Kushnir <vkushnir@Alfacom.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/57227: audio/dagrab fix to work under -CURRENT Message-ID: <200309252251.h8PMpvL6014763@kushnir1.kiev.ua> Resent-Message-ID: <200309252300.h8PN0dNv080336@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 57227 >Category: ports >Synopsis: audio/dagrab fix to work under -CURRENT >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Sep 25 16:00:39 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Vladimir Kushnir >Release: FreeBSD 5.1-CURRENT i386 >Organization: >Environment: System: FreeBSD kushnir1.kiev.ua 5.1-CURRENT FreeBSD 5.1-CURRENT #11: Tue Sep 23 12:56:27 EEST 2003 root@kushnir1.kiev.ua:/usr/obj/usr/src/sys/KUSHNIR i386 >Description: Under FreeBSD-CURRENT, dagrab does not work because CDIOCREADAUDIO ioctl was removed. >How-To-Repeat: Try to use it. >Fix: Apply the patch below _after_ "make patch" was done in port NB: This patch is for -CURRENT --- patch-dagrab.c.1 begins here --- *** /usr/ports/audio/dagrab/work/dagrab-0.3.5/dagrab.c Wed Sep 24 01:39:03 2003 --- dagrab.c Wed Sep 24 01:42:20 2003 *************** *** 104,109 **** --- 104,110 ---- #include <sys/socket.h> #include <netinet/in.h> #include <sys/cdio.h> + #include <sys/cdrio.h> #include <sys/param.h> #include <sys/mount.h> #define CDDEVICE "/dev/cdrom" *************** *** 248,262 **** /*NOTE: if num>CDROM_NBLOCKS_BUFFER as defined in ide_cd.c (8 in linux 2.0.32) jitter correction may be required inside the block. */ { ! struct ioc_read_audio ra; ! ! ra.address.lba=lba; ! ra.address_format=CD_LBA_FORMAT; ! ra.nframes=num; ! ra.buffer=buf; ! if(ioctl(cdrom_fd,CDIOCREADAUDIO,&ra)){ /*fprintf(stderr,"%s: read raw ioctl failed \n",progname);*/ ! fprintf(stderr,"\n%s: read raw ioctl failed at lba %d length %d: %s\n", progname,lba,num,strerror(errno)); exit(1); } --- 249,262 ---- /*NOTE: if num>CDROM_NBLOCKS_BUFFER as defined in ide_cd.c (8 in linux 2.0.32) jitter correction may be required inside the block. */ { ! int bsize = 2352; ! if(ioctl(cdrom_fd,CDRIOCSETBLOCKSIZE,&bsize) == -1) { ! fprintf(stderr, "setblocksize"); ! exit(1); ! } ! if (pread(cdrom_fd, buf, num*bsize, lba*bsize) != num*bsize){ /*fprintf(stderr,"%s: read raw ioctl failed \n",progname);*/ ! fprintf(stderr,"\n%s: read device at lba %d length %d: %s\n", progname,lba,num,strerror(errno)); exit(1); } *************** *** 687,693 **** } tl->starts[tl->max-tl->min+1]=ntohl(Te.entry.addr.lba); tl->types[tl->max-tl->min+1]=Te.entry.control&CDROM_DATA_TRACK; ! i=cddb_main(tl); if(i==-1) { fprintf(stderr,"%s: error retrieving cddb data\n",PROGNAME); --- 687,693 ---- } tl->starts[tl->max-tl->min+1]=ntohl(Te.entry.addr.lba); tl->types[tl->max-tl->min+1]=Te.entry.control&CDROM_DATA_TRACK; ! i=cddb_main(tl); if(i==-1) { fprintf(stderr,"%s: error retrieving cddb data\n",PROGNAME); *************** *** 1096,1101 **** --- 1096,1102 ---- } } }; + if(opt_verbose) fprintf(stderr, "sectors %3d overlap %3d key length %3d retrys %4d offset %3d\n", opt_blocks,opt_overlap,opt_keylen,opt_retrys,opt_ofs); --- patch-dagrab.c.1 ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309252251.h8PMpvL6014763>