>>> >>> Dear developers, >>> >>> >>> I have question something about selecting logic between timer-based >>> and IRQ scheduling. >>> >>> When I tried to load 'module-alsa-sink' with 'mmap=0 tsched=1' >>> parameters, tsched(timer-based scheduling) becomes disabled by below >>> codes. >>> >>> It seems tsched is allowed only mmap supported ALSA devices. Why >>> tsched disabled while use non-mmap driven ALSA? >> >> >> Because rewinding is not available in non-mmap mode. That is, it's not >> possible to rewrite previously written data in non-mmap mode. In >> timer-based scheduling mode PulseAudio uses bigger buffer size, which >> causes problems if rewinding isn't available. > > > Sorry, rewinding is actually available in non-mmap mode. And, pulseaudio can rewind even without tsched (i.e., tsched == 0 does not imply max_rewind == 0). So the reasoning must be different. But I don't know the answer. http://cgit.freedesktop.org/pulseaudio/pulseaudio/log/src/modules/alsa?qt=grep&q=tsched set latency range only in tsched mode don't enabled tsched on software ALSA devices pa_bool_t pa_alsa_pcm_is_hw(snd_pcm_t *pcm) { + snd_pcm_info_t* info; + snd_pcm_info_alloca(&info); + + pa_assert(pcm); + + if (snd_pcm_info(pcm, info) < 0) + return FALSE; + + return snd_pcm_info_get_card(info) >= 0; This patch seem strange since only those io plugin (e.g. a52) fail the test, most plugins pass the above test alsa: don't make use of tsched related variables when tsched is disabled + if (u->use_tsched) { + *sleep_usec = pa_bytes_to_usec(left_to_play, &u->sink->sample_spec); - if (*sleep_usec > process_usec) - *sleep_usec -= process_usec; - else + if (*sleep_usec > process_usec) + *sleep_usec -= process_usec; + else + *sleep_usec = 0; + } else Does it mean it won't sleep for a period time but polling continuosly when timer scheduling is disabled It need sound card report accurate hwptr position when hwbuf_unused can set to non zero values -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150103/e5baf832/attachment.html>