简体   繁体   中英

Is there in-kernel resampling in Linux 2.6 OSS Sound system

This is the question about Linux kernel's OSS sound subsystem and its capabilities. I'm working with Linux 2.6 kernels and I have unusual sound card. This card should input and output only 48 kHz signal; and there is no hardware resampling (I can't play 16kHz WAV file on this card). Other bad thing about this card is that it uses some OSS driver of more advanced card (driver don't limit applications in samplerate required from it). There is no ALSA for this card.

I want to use this card with some SIP codecs (voice realtime compression), but they support only 8 kHz, 16 kHz, 7 kHz, 32 kHz, but no 48 kHz. Now I'm using linphone3 for SIP, and has some problems with sound playing and recording. Linphone opens driver with 16 kHz rate (Speex WB), but card sends and plays data at 48 kHz.

Can I do a resampling from 16 kHz (SIP) to 48 kHz (card) in the kernel's OSS? How can I activate pcm plugin with resampling?

The OSS subsystem does not provide resampling. You could change the device driver for your audio card to do such resampling, but most OSS drivers don't have this implemented (the idea being that resampling is better done in userspace)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM