On 13/09/05, Diego Fernando Nieto Moreno <[EMAIL PROTECTED]> wrote:
> Hi,
>
> Greetings from Colombia,
>
> I have a C-MEDIA Sound Card, since OpenBSD 3.5 this device use a AC97(4)
> driver, but OpenBSD play some sound formats too fast.
>
> I think that it is a OpenBSD bug because never Media Player (mplayer, mpg123,
> xmms, noatun) solve this problem.
>
> I see "Enlace" He ask the same question but he don't had a good answer.
>
> My dmesg is:
>
> > OpenBSD 3.7 (GENERIC) #50: Sun Mar 20 00:01:57 MST 2005
> > [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
> > cpu0: Intel(R) Pentium(R) 4 CPU 2.80GHz ("GenuineIntel" 686-class) 2.77 GHz
> > cpu0:
> > FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,CNXT-ID
> > real mem = 737714176 (720424K)
> > avail mem = 665817088 (650212K)
> > using 4278 buffers containing 36986880 bytes (36120K) of memory
> > mainbus0 (root)
> > bios0 at mainbus0: AT/286+(00) BIOS, date 03/05/04, BIOS32 rev. 0 @ 0xfdb10
> > pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
> > pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xf76a0/192 (10 entries)
> > pcibios0: PCI Interrupt Router at 000:02:0 ("SIS 85C503 System" rev 0x00)
> > pcibios0: PCI bus #1 is the last bus
> > bios0: ROM list: 0xc0000/0x8000
> > cpu0 at mainbus0
> > pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
> > pchb0 at pci0 dev 0 function 0 "SIS 650 PCI" rev 0x80
> > ppb0 at pci0 dev 1 function 0 "SIS 86C201 AGP" rev 0x00
> > pci1 at ppb0 bus 1
> > vga1 at pci1 dev 0 function 0 "SIS 650 VGA" rev 0x00: aperture at
> > 0xd0000000, size 0x400000
> > wsdisplay0 at vga1: console (80x25, vt100 emulation)
> > wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> > pcib0 at pci0 dev 2 function 0 "SIS 85C503 System" rev 0x25
> > pciide0 at pci0 dev 2 function 5 "SIS 5513 EIDE" rev 0x00: 650: DMA,
> > channel 0 wired to compatibility, channel 1 wired to > compatibility
> > wd0 at pciide0 channel 0 drive 0: <ST380011A>
> > wd0: 16-sector PIO, LBA48, 76319MB, 156301488 sectors
> > wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
> > atapiscsi0 at pciide0 channel 1 drive 0
> > scsibus0 at atapiscsi0: 2 targets
> > cd0 at scsibus0 targ 0 lun 0: <HL-DT-ST, RW/DVD GCC-4521B, 1.01> SCSI0
> > 5/cdrom removable
> > atapiscsi1 at pciide0 channel 1 drive 1
> > scsibus1 at atapiscsi1: 2 targets
> > cd1 at scsibus1 targ 0 lun 0: <HL-DT-ST, DVDRAM GSA-4165B, DL03> SCSI0
> > 5/cdrom removable
> > cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
> > cd1(pciide0:1:1): using PIO mode 4, Ultra-DMA mode 2
> > "SIS 7013 Modem" rev 0xa0 at pci0 dev 2 function 6 not configured
> > auich0 at pci0 dev 2 function 7 "SIS 7012 AC97" rev 0xa0: irq 10, SiS7012
> > AC97
> > ac97: codec id 0x434d4983 (C-Media Electronics CMI9761A+)
> > audio0 at auich0
> > ohci0 at pci0 dev 3 function 0 "SIS 5597/5598 USB" rev 0x0f: irq 3, version
> > 1.0, legacy support
> > usb0 at ohci0: USB revision 1.0
> > uhub0 at usb0
> > uhub0: SIS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> > uhub0: 3 ports with 3 removable, self powered
> > ohci1 at pci0 dev 3 function 1 "SIS 5597/5598 USB" rev 0x0f: irq 5, version
> > 1.0, legacy support
> > usb1 at ohci1: USB revision 1.0
> > uhub1 at usb1
> > uhub1: SIS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> > uhub1: 3 ports with 3 removable, self powered
> > ehci0 at pci0 dev 3 function 3 "SIS 7002 USB" rev 0x00: irq 11
> > ehci0: EHCI version 1.0
> > ehci0: companion controllers, 3 ports each: ohci0 ohci1
> > usb2 at ehci0: USB revision 2.0
> > uhub2 at usb2
> > uhub2: SIS EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
> > uhub2: single transaction translator
> > uhub2: 6 ports with 6 removable, self powered
> > sis0 at pci0 dev 4 function 0 "SIS 900 10/100BaseTX" rev 0x90: irq 11,
> > address 00:0b:6a:49:19:03
> > rlphy0 at sis0 phy 1: RTL8201L 10/100 PHY, rev. 1
> > isa0 at pcib0
> > isadma0 at isa0
> > pckbc0 at isa0 port 0x60/5
> > pckbd0 at pckbc0 (kbd slot)
> > pckbc0: using irq 1 for kbd slot
> > wskbd0 at pckbd0 (mux 1 ignored for console): console keyboard, using
> > wsdisplay0
> > pmsi0 at pckbc0 (aux slot)
> > pckbc0: using irq 12 for aux slot
> > wsmouse0 at pmsi0 mux 0
> > pcppi0 at isa0 port 0x61
> > midi0 at pcppi0: <PC speaker>
> > sysbeep0 at pcppi0
> > lpt0 at isa0 port 0x378/4 irq 7
> > lm0 at isa0 port 0x290/8: W83697HF
> > npx0 at isa0 port 0xf0/16: using exception 16
> > pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> > fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
> > fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
> > biomask eb6d netmask eb6d ttymask fbef
> > pctr: user-level cycle counter enabled
> > dkcsum: wd0 matched BIOS disk 80
> > root on wd0a
> > rootdev=0x0 rrootdev=0x300 rawdev=0x302
>
> Actually I'm using OpenBSD 3.7 and I recieve the following message when sound
> for example an MP3 file
> > auich0: measured ac97 link rate at 48012 Hz, will use 48000 Hz
>
> The audioctl(1) command show the following error when I change some param
> > # audioctl play.rate=44100
> > audioctl: set failed: Invalid argument
>
> > # audioctl -a
> > name=SiS7012 AC97
> > version=0xa0
> > config=auich0
> > encodings=ulinear:8,mulaw:8*,alaw:8*,slinear:8*,slinear_le:16,ulinear_le:16*,slinear_be:16*,ulinear_be:16*
> > properties=full_duplex,mmap,independent
> > full_duplex=0
> > fullduplex=0
> > blocksize=8768
> > hiwat=7
> > lowat=5
> > monitor_gain=0
> > mode=playsync
> > play.rate=44100 --> Its strange, B?change the param really?
> > play.channels=2
> > play.precision=16
> > play.encoding=slinear_le
> > play.gain=127
> > play.balance=32
> > play.port=0x0
> > play.avail_ports=0x0
> > play.seek=52608
> > play.samples=2218304
> > play.eof=1
> > play.pause=0
> > play.error=0
> > play.waiting=0
> > play.open=1
> > play.active=1
> > play.buffer_size=65536
> > record.rate=8000
> > record.channels=1
> > record.precision=8
> > record.encoding=mulaw
> > record.gain=191
> > record.balance=32
> > record.port=0x1
> > record.avail_ports=0x7
> > record.seek=0
> > record.samples=0
> > record.eof=0
> > record.pause=0
> > record.error=0
> > record.waiting=0
> > record.open=0
> > record.active=0
> > record.buffer_size=65536
> > record.errors=0
>
> Sincerely
>
> Diego Fernando Nieto Moreno
> ---------------------------
> IEEE Student Membership Number 41618544
> http://www.compumundohypermegared.org
>
> They called BSD!
> And "Open" because it's always free
>
>
This also has been discussed before.
You must use an application such as mplayer (as you said) to convert
sample rates, as the kernel does not do it.
Here is an mplayer config that I made which does a nice quality resample:
~/.mplayer/config
srate=44100
framedrop=1
fs=1
af-adv=force=1
vf=pp=lb
The lines you are interested in are srate= and af-adv=. Without af-adv
I experienced distortion.
Hope this helps.
Best Regards
Edd