Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
649 views
in Technique[技术] by (71.8m points)

c - ALSA: Relation between period size of speaker and mic

I have audio conferencing device which has a mic and speaker. Both mic and speaker having same sampling rate set by snd_pcm_hw_params_set_rate_near() say 8000 Hz. Do I need to set period size and number of periods to be same for both (for two such devices communicate each other) ?

Or can I choose a different period/period size for speaker than the one configured for mic ? How do I decide on which period and period size to use ?

I am using snd_pcm_hw_params_set_period_size_near() and snd_pcm_hw_params_set_periods_near() APIs to set period size and period for both speaker and mic.

(I am new to ALSA).

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

What period sized and buffer sizes are supported depends on the driver, but if it's the same device, it's likely that the playback and capture devices support the same parameters.

Whether the parameters need to be the same depends on how your application accesses these devices. As far as the driver is concerned, these devices work independently.

What buffer/period sizes to use depends on how you want to balance latency, power usage, and over/underrun safety. Latency is directly proportional with the buffer size on playback devices or the period siz on capture devices. Power usage is increased slightly by shorter periods. Xrun safety is increased by larger buffers, and a little by shorter periods.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...