Date: Sat, 8 Apr 1995 10:23:12 +0930 (CST) From: Lucas James <jj@ldjpc.apana.org.au> To: Doug Rabson <dfr@render.com> Cc: freebsd-bugs@freefall.cdrom.com Subject: Re: i386/297: matcd does not play audio CDs from cdplay Message-ID: <Pine.BSF.3.91.950408101342.201F-100000@ldjpc.apana.org.au> In-Reply-To: <199504041450.HAA13780@freefall.cdrom.com>
index | next in thread | previous in thread | raw e-mail
On Tue, 4 Apr 1995, Doug Rabson wrote:
> >Number: 297
> >Category: i386
> >Synopsis: matcd does not play audio CDs from cdplay
> >Confidential: no
> >Severity: non-critical
> >Priority: low
> >Responsible: freebsd-bugs (FreeBSD bugs mailing list)
> >State: open
> >Class: sw-bug
> >Submitter-Id: current-users
> >Arrival-Date: Tue Apr 4 07:50:01 1995
> >Originator: Doug Rabson
> >Organization:
> RenderMorphics Ltd.
> >Release: FreeBSD 2.1.0-Development i386
> >Environment:
>
>
> >Description:
>
> When I try to play an audio CD from cdplay with the matcd0 driver,
> it prints "cdplay: Bad file descriptor"
> I believe that this is because matcd does not implement all the
> audio CD ioctls.
>
> >How-To-Repeat:
>
>
> >Fix:
Patch cdplay.c with the following.
(it would appear that the status() call doesn't work)
the 'play' command doesn't work (still) but I can get msfplay to
work (sortof - does anyone have docs to this command?
@@@@@@@@@@@@@@@@@@@@@@@@cdplay.c.diff@@@@@@@@@@@@@@@@@@@@@@@@@
*** cdplay.c.orig Sat Apr 8 10:15:36 1995
--- cdplay.c Fri Apr 7 11:08:11 1995
*************** input ()
*** 249,262 ****
void
open_cd ()
{
! int trk, m, s, f;
extern int errno;
char devbuf[20];
if (cd_fd > -1)
return;
sprintf(devbuf, "/dev/r%sc", cdname);
cd_fd = open (devbuf, O_RDONLY);
if (cd_fd < 0) {
if (errno == ENXIO) {
/* open says 'Device not configured if there is no cd in */
--- 249,265 ----
void
open_cd ()
{
! int trk, m, s, f, stat;
extern int errno;
char devbuf[20];
+ printf("open(); called, cd_fd=%d\n", cd_fd);
if (cd_fd > -1)
return;
sprintf(devbuf, "/dev/r%sc", cdname);
+ printf("device: %s\n",cdname);
cd_fd = open (devbuf, O_RDONLY);
+ printf("open returned: %d\n", cd_fd);
if (cd_fd < 0) {
if (errno == ENXIO) {
/* open says 'Device not configured if there is no cd in */
*************** open_cd ()
*** 266,273 ****
perror(devbuf);
exit (1);
}
! if (status (&trk, &m, &s, &f) < 0 ) {
close (cd_fd);
cd_fd = -1;
}
}
--- 269,280 ----
perror(devbuf);
exit (1);
}
! /*
! trk = m = s = f = 0;
! if ((stat = status (&trk, &m, &s, &f)) < 0 ) {
! printf("status( %d, %d, %d, %d ) returned: %d\n", trk,m,s,f,stat);
close (cd_fd);
cd_fd = -1;
}
+ */
}
@@@@@@@@@@@@@@@@@@@@@@@@cdplay.c.diff@@@@@@@@@@@@@@@@@@@@@@@@@
--
Lucas James
jj@ldjpc.apana.org.au
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.950408101342.201F-100000>
