From owner-FreeBSD-users-jp@jp.freebsd.org  Tue Aug  1 20:30:46 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id UAA01189;
	Tue, 1 Aug 2000 20:30:46 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mist.nintendo.co.jp (firewall-user@mist.nintendo.co.jp [202.214.242.34])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id UAA01183
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 1 Aug 2000 20:30:45 +0900 (JST)
	(envelope-from shirai@nintendo.co.jp)
Received: by mist.nintendo.co.jp; id UAA28258; Tue, 1 Aug 2000 20:30:44 +0900 (JST)
Received: from unknown(172.16.1.9) by mist.nintendo.co.jp via smap (V4.2)
	id xma028240; Tue, 1 Aug 00 20:30:21 +0900
Received: from pon.nintendo.co.jp (pon [172.16.1.1])
	by yellow.nintendo.co.jp (8.9.3/3.7W/2000071209) with ESMTP id UAA00409
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 1 Aug 2000 20:28:30 +0900 (JST)
Received: from nintendo.co.jp (IDENT:shirai@localhost [127.0.0.1])
	by pon.nintendo.co.jp (8.9.3/3.7W/2000010715) with ESMTP id UAA12924
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 1 Aug 2000 20:30:20 +0900
Message-Id: <200008011130.UAA12924@pon.nintendo.co.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-reply-to: Your message of Tue, 01 Aug 2000 19:35:14 JST.
             <014701bffba4$59d4f480$0100a8c0@waldfee.dialup.ask.ne.jp> 
Date: Tue, 01 Aug 2000 20:30:20 +0900
From: Takashi SHIRAI <shirai@nintendo.co.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 53916
Subject: [FreeBSD-users-jp 53916] Re: newpcm
 =?ISO-2022-JP?B?GyRCJEgbKEI=?= timidity++ 
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: shirai@nintendo.co.jp

$B!!#N#e#c#o$G$9!#(B

In Message-Id <014701bffba4$59d4f480$0100a8c0@waldfee.dialup.ask.ne.jp> 
        "Tomokazu Matsuo" <JCF03063@nifty.ne.jp> $B$5$s(Bwrites:
> T.Matsuo $B$G$9!#(B

> [FreeBSD-users-jp 53882]$B$N%Q%C%A$K>/$7JQ99$r2C$($k;v$K$h$j(B
> $B2;?tLdBj$r%I%i%$%PB&$N=$@5$G2r7h=PMh$^$7$?!#(B($B%8%c%s%WLdBj$O(B
> $BAjJQ$o$i$:$G$9(B)

$B!!$J$k$[$I!#3N$+!"%8%c%s%WLdBj$O(B #undef SNDCTL_DSP_GETODELAY
$B4D6-$G$b5/$-$k$H$$$&OC$G$O$"$j$^$;$s$G$7$?$C$1!)$@$H$9$k$H!"(B
SNDCTL_DSP_GETODELAY $B$N2U=j$r=q49$($?$/$i$$$G$OD>$i$J$$$N$O(B
$BEvA3$G$7$g$&$M!#(B

$B!!;d$N$H$3$m$K$O(B 2.2.7-RELEASE $B$7$+L5$/$F!"(Bsampei $B$5$s$,2;F,(B
$B<h$C$F:n$C$?(B snd-ESS-2.2.7-19990310.tar.gz $B$H$$$&$N$rF~$l$F(B
$B$"$j$^$9!#(B
$B!!$3$l$OEvA3(B SNDCTL_DSP_GETODELAY $B$J$s$>BP1~$7$F$$$J$$$s$G$9(B
$B$,!"(Bdriver $BB&$H(B soundcard.h $B$H$K:Y9)$7$F(B GETOSPACE $BItJ,$rN.(B
$BMQ$9$k$3$H$G(B SNDCTL_DSP_GETODELAY $B$r$G$C$A>e$2$F$_$^$7$?!#(B
$B!!EvA3!"JV$jCM$K$O(B bs->rl $B$,BeF~$5$l$k$h$&$K$7$^$7$F!"$3$l$G(B
TiMidity++ $B$r(B SNDCTL_DSP_GETODELAY $BMQ$K(B compile $B$7$^$9$H!"2;(B
$B?tLdBj$b%8%c%s%WLdBj$b5/$3$i$:L5;vF0$-$^$7$?!#(B

$B!!$^!"%"%W%jB&$G$d$C$F$k$3$H$r(B driver $BB&$K$d$i$;$?$@$1$N$3$H(B
$B$J$s$GLdBj$J$$$N$OEv$?$jA0$J$s$G$9$,!"$3$l$G(B TiMidity++ $B$NB&(B
$B$N;Y>c$G$O$J$$$3$H$OL@$i$+$@$H;W$$$^$9!#(B
$B!!B?J,!"(B3.x -> 4.0 $B$N:]$KBg$-$/<j$r2C$($?$I$3$+$,856'$J$s$@(B
$B$H;W$$$^$9$,!"$3$NJU$j$N:]$O$A$g$C$HBg$-2a$.$F860x$r9J$j9~$`(B
$B$N$OHs>o$K:$Fq$@$H;W$$$^$9!#(B


> $B4pK\E*$K$O$3$NJQ99$G2r7h$G$-$^$7$?!#$?$@!"IT9,(B(?)$B$K$7$F(B
> arg $B$,!"(Bcaddr_t $B7?$H@k8@$5$l$F$$$?$?$a$K(B TiMidity++ $BB&$K(B
> $BEO$k$H$-$KCM$,2u$l$F$$$^$7$?!#@5$7$/$O(B
>     *arg = bs->rl;
> $B$G$O$J$/!"(B
>     *((int *)arg) = bs->rl;
> $B$G$9!#(B

$B!!7?$NIT0lCW$G$9$+!#$=$NLdBj$J$i!V(Bb->total$B!W$rJV$7$F$?;~E@$G(B
$B$bH/@8$7$F$$$kH&$J$s$G!"8=>u$N(B SNDCTL_DSP_GETODELAY $B$N<BAu$O(B
$BFs=E$K4V0c$C$?CM$rJV$7$F$$$k$3$H$K$J$j$^$9$M!#(B
$B!!0JA0C+B<$5$s$,(B buffering $B$K4X$9$k2U=j$,Bg$-$/<jD>$7$5$l$?(B
patch $B$r:n$C$F$^$7$?$,!"$3$N(B patch $B$G$b(B arg $B$N(B cast $B$O$5$l$F(B
$B$$$^$;$s$G$7$?$N$G!"$3$N;~$b$=$l$,860x$@$C$?$s$G$7$g$&!#(B
$B!!$H$$$&$3$H$O!"C+B<$5$s$N(B patch $B$K$h$k$b$&0l$D$N8z2L!"B($A(B
buffuring $B$N8zN(2=$r<B8=$9$l$P%8%c%s%WLdBj$NJ}$b2r7h$9$k$+$b(B
$BCN$l$^$;$s$M!#(B

$B!!$s!<!"$H$3$m$,$3$N(B patch$B!"BP>]$,8E2a$.$F4{$K8=:_$N(B HEAD $B%V(B
$B%i%s%A$K$OE,MQ=PMh$J$$$s$G$9!#$I$&$7$^$7$g$&!)(B

$B!t!!(Bcast $B$r$A$c$s$H=q$-B-$7$F(B HEAD $BMQ$K(B patch $B:n$jD>$;$^$;$s(B
$B!t$+$M!)!dC+B<$5$s(B


> $B$3$l$GB?J,2;?tLdBj$OK\Ev$K2r7h$K$J$k$H;W$$$^$9!#3'$5$s$N(B
> $B=j$G$O$I$&$G$9$+(B?

$B!!0l1~(B GETODELAY $B$N$H$3$m$@$1$G$9$,(B patch $B$r:n$jD>$7$F$*$-$^(B
$B$9$M!#(BHEAD $B$KBP$9$k(B patch $B$K$J$C$F$^$9$,!"<j$GEv$F$l$PB?J,$3(B
$B$3?t%u7nA0$^$G$N$b$N$K$OM-8z$@$H;W$$$^$9!#(B

diff -u dsp.c.old dsp.c
--- dsp.c.old	Tue Aug  1 04:36:13 2000
+++ dsp.c	Tue Aug  1 20:18:08 2000
@@ -587,12 +587,13 @@
 	case SNDCTL_DSP_GETODELAY:
 		if (wrch) {
 			snd_dbuf *b = &wrch->buffer;
+			snd_dbuf *bs = &wrch->buffer2nd;
 			if (b->dl) {
 				chn_checkunderflow(wrch);
 				if (!(wrch->flags & CHN_F_MAPPED))
 					while (chn_wrfeed(wrch) > 0);
 			}
-			*arg = b->total;
+			*((int *)arg) = bs->rl;
 		} else
 			ret = EINVAL;
 		break;

> $B$J$*!"7k6I$O(B buffer2nd $B$+$i$N;2>H$,I,MW$J$h$&$G!"(Bbuffer
> $B$+$i;2>H$7$?$N$G$O!"A4$/2~A1$5$l$^$;$s$G$7$?!#(B

$B!!C+B<$5$s$N(B patch $B$rEv$F$k$H(B buffering $B$NFs=E2=<+BN$,L5$/$J(B
$B$j$^$9$N$G!"$I$C$A$N(B buffer $B$r;H$&$+$H$$$&LdBj<+BN$OB?J,2r>C(B
$B$5$l$k$s$8$c$J$$$+$H;W$$$^$9!#(B

                                       $BGr0f(B $BN4(B (as $B#N#e#c#o(B)
